Btrfs (B-tree file system, variously pronounced “Butter F S”, “Better F S”,[1] or “B-tree F S”[2]) is a GPL-licensed copy-on-write file system for Linux.
Btrfs is intended to address the lack of pooling, snapshots, checksums and integral multi-device spanning in Linux file systems, these features being crucial as the use of Linux scales upward into larger storage configurations common in the enterprise.[1] Chris Mason, the principal author of the filesystem, has stated its goal was “to let Linux scale for the storage that will be available. Scaling is not just about addressing the storage but also means being able to administer and to manage it with a clean interface that lets people see what’s being used and makes it more reliable
Btrfs – Binary tree file system is an excellent and efficient file system available under Linux (right now under heavy development)..
Its based on excellent design wherein a B-Tree maintains pointers to the files on the disk.. This approach facilitates system rollbacks and instant backups.
Top level data structures involved :
struct btrfs_header { u8 csum[32]; u8 fsid[16]; __le64 blocknr; __le64 flags;
u8 chunk_tree_uid[16]; __le64 generation; __le64 owner; __le32 nritems; u8 level;}
struct btrfs_disk_key { __le64 objectid; u8 type; __le64 offset;}
struct btrfs_item { struct btrfs_disk_key key; __le32 offset; __le32 size;}
Some of the essential features of btrfs.:
- Btrfs stores metadata and data blocks in two tree structures – one for the directory and file names, and another for the data blocks.
- Data blocks are addressed via extents instead of block lists. Btrfs can store small files directly in the leaves of the tree, avoiding the overhead that would be created with small file extents.
- Btrfs uses Copy on Write: Modified data is written into new data blocks to preserve the old data. Only once the data has been written is the tree to the data updated – until then, the file entry points to the old data blocks.
Thanks
Anshul Makkar
mail your queries : anshul_makkar@justkernel.com




Recent Comments