About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / filesystems / btrfs.txt




Custom Search

Based on kernel version 3.9. Page generated on 2013-05-02 23:06 EST.

1	
2		BTRFS
3		=====
4	
5	Btrfs is a new copy on write filesystem for Linux aimed at
6	implementing advanced features while focusing on fault tolerance,
7	repair and easy administration. Initially developed by Oracle, Btrfs
8	is licensed under the GPL and open for contribution from anyone.
9	
10	Linux has a wealth of filesystems to choose from, but we are facing a
11	number of challenges with scaling to the large storage subsystems that
12	are becoming common in today's data centers. Filesystems need to scale
13	in their ability to address and manage large storage, and also in
14	their ability to detect, repair and tolerate errors in the data stored
15	on disk.  Btrfs is under heavy development, and is not suitable for
16	any uses other than benchmarking and review. The Btrfs disk format is
17	not yet finalized.
18	
19	The main Btrfs features include:
20	
21	    * Extent based file storage (2^64 max file size)
22	    * Space efficient packing of small files
23	    * Space efficient indexed directories
24	    * Dynamic inode allocation
25	    * Writable snapshots
26	    * Subvolumes (separate internal filesystem roots)
27	    * Object level mirroring and striping
28	    * Checksums on data and metadata (multiple algorithms available)
29	    * Compression
30	    * Integrated multiple device support, with several raid algorithms
31	    * Online filesystem check (not yet implemented)
32	    * Very fast offline filesystem check
33	    * Efficient incremental backup and FS mirroring (not yet implemented)
34	    * Online filesystem defragmentation
35	
36	
37	
38		MAILING LIST
39		============
40	
41	There is a Btrfs mailing list hosted on vger.kernel.org. You can
42	find details on how to subscribe here:
43	
44	http://vger.kernel.org/vger-lists.html#linux-btrfs
45	
46	Mailing list archives are available from gmane:
47	
48	http://dir.gmane.org/gmane.comp.file-systems.btrfs
49	
50	
51	
52		IRC
53		===
54	
55	Discussion of Btrfs also occurs on the #btrfs channel of the Freenode
56	IRC network.
57	
58	
59	
60		UTILITIES
61		=========
62	
63	Userspace tools for creating and manipulating Btrfs file systems are
64	available from the git repository at the following location:
65	
66	 http://git.kernel.org/?p=linux/kernel/git/mason/btrfs-progs.git
67	 git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git
68	
69	These include the following tools:
70	
71	mkfs.btrfs: create a filesystem
72	
73	btrfsctl: control program to create snapshots and subvolumes:
74	
75		mount /dev/sda2 /mnt
76		btrfsctl -s new_subvol_name /mnt
77		btrfsctl -s snapshot_of_default /mnt/default
78		btrfsctl -s snapshot_of_new_subvol /mnt/new_subvol_name
79		btrfsctl -s snapshot_of_a_snapshot /mnt/snapshot_of_new_subvol
80		ls /mnt
81		default snapshot_of_a_snapshot snapshot_of_new_subvol
82		new_subvol_name snapshot_of_default
83	
84		Snapshots and subvolumes cannot be deleted right now, but you can
85		rm -rf all the files and directories inside them.
86	
87	btrfsck: do a limited check of the FS extent trees.
88	
89	btrfs-debug-tree: print all of the FS metadata in text form.  Example:
90	
91		btrfs-debug-tree /dev/sda2 >& big_output_file
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.