diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-09 16:01:38 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-09 16:01:38 -0500 |
commit | 73d59314e6ed268d6f322ae1bdd723b23fa5a4ed (patch) | |
tree | ec7159b13dfd57739ed840e88a436d8d6f4eee5f /Documentation/filesystems | |
parent | 6ddaab20c32af03d68de00e7c97ae8d9820e4dab (diff) | |
parent | e293e97e363e419d8a3628a927321e3f75206a0b (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable
* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (864 commits)
Btrfs: explicitly mark the tree log root for writeback
Btrfs: Drop the hardware crc32c asm code
Btrfs: Add Documentation/filesystem/btrfs.txt, remove old COPYING
Btrfs: kmap_atomic(KM_USER0) is safe for btrfs_readpage_end_io_hook
Btrfs: Don't use kmap_atomic(..., KM_IRQ0) during checksum verifies
Btrfs: tree logging checksum fixes
Btrfs: don't change file extent's ram_bytes in btrfs_drop_extents
Btrfs: Use btrfs_join_transaction to avoid deadlocks during snapshot creation
Btrfs: drop remaining LINUX_KERNEL_VERSION checks and compat code
Btrfs: drop EXPORT symbols from extent_io.c
Btrfs: Fix checkpatch.pl warnings
Btrfs: Fix free block discard calls down to the block layer
Btrfs: avoid orphan inode caused by log replay
Btrfs: avoid potential super block corruption
Btrfs: do not call kfree if kmalloc failed in btrfs_sysfs_add_super
Btrfs: fix a memory leak in btrfs_get_sb
Btrfs: Fix typo in clear_state_cb
Btrfs: Fix memset length in btrfs_file_write
Btrfs: update directory's size when creating subvol/snapshot
Btrfs: add permission checks to the ioctls
...
Diffstat (limited to 'Documentation/filesystems')
-rw-r--r-- | Documentation/filesystems/btrfs.txt | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/Documentation/filesystems/btrfs.txt b/Documentation/filesystems/btrfs.txt new file mode 100644 index 000000000000..64087c34327f --- /dev/null +++ b/Documentation/filesystems/btrfs.txt | |||
@@ -0,0 +1,91 @@ | |||
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-unstable.git | ||
67 | git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs-unstable.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 | ||