1 2 BTRFS 3 ===== 4 5Btrfs is a new copy on write filesystem for Linux aimed at 6implementing advanced features while focusing on fault tolerance, 7repair and easy administration. Initially developed by Oracle, Btrfs 8is licensed under the GPL and open for contribution from anyone. 9 10Linux has a wealth of filesystems to choose from, but we are facing a 11number of challenges with scaling to the large storage subsystems that 12are becoming common in today's data centers. Filesystems need to scale 13in their ability to address and manage large storage, and also in 14their ability to detect, repair and tolerate errors in the data stored 15on disk. Btrfs is under heavy development, and is not suitable for 16any uses other than benchmarking and review. The Btrfs disk format is 17not yet finalized. 18 19The 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 41There is a Btrfs mailing list hosted on vger.kernel.org. You can 42find details on how to subscribe here: 43 44http://vger.kernel.org/vger-lists.html#linux-btrfs 45 46Mailing list archives are available from gmane: 47 48http://dir.gmane.org/gmane.comp.file-systems.btrfs 49 50 51 52 IRC 53 === 54 55Discussion of Btrfs also occurs on the #btrfs channel of the Freenode 56IRC network. 57 58 59 60 UTILITIES 61 ========= 62 63Userspace tools for creating and manipulating Btrfs file systems are 64available 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 69These include the following tools: 70 71mkfs.btrfs: create a filesystem 72 73btrfsctl: 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 87btrfsck: do a limited check of the FS extent trees. 88 89btrfs-debug-tree: print all of the FS metadata in text form. Example: 90 91 btrfs-debug-tree /dev/sda2 >& big_output_file 92