What is btrfs? What advanced features does it have?
btrfs or Butter FS is a filesystem and has some interesting features:
- You can have snapshots. It is like a freeze of the filesystem at some point of time.
- btrfs is a extent-based filesystem. This means there are no lists of pointers. btrfs tracks contiguous blocks, so called extents, together.
- btrfs makes checksums of data and metadata. Therefore it can detect errors in the filesystem in "realtime".
- You can switch from ext3/4 to btrfs.
- Online volume growth and shrinking
- Online block device addition and removal
- Online defragmentation
- Online balancing (movement of objects between block devices to balance load)
- Transparent compression (currently zlib)
- Subvolumes (separately-mountable filesystem roots)
- Snapshots (writeable, copy-on-write copies of subvolumes)
- File cloning (copy-on-write on individual files, or byte ranges thereof)
- Object-level (RAID1-like) mirroring, (RAID0-like) striping
- Checksums on data and metadata (currently CRC-32C[13])
- In-place conversion (with rollback) from ext3/4 to Btrfs[14]
- File system seeding[15] (Btrfs on read-only storage used as a copy-on-write backing for a writeable Btrfs)
- User-defined transactions
- Block discard support (reclaims space on some virtualization setups or improves wear leveling on SSDs by notifying the underlying device that storage is no longer in use)
Planned features include:
- Object-level (RAID5-like and RAID6-like) parity-based striping
- Online and offline filesystem check
- Incremental dumps
- Data deduplication1
From Wikipedia I'm sorry i can't answer your other questions as i don't know much about it.