What is btrfs? What advanced features does it have?

btrfs or Butter FS is a filesystem and has some interesting features:

  1. You can have snapshots. It is like a freeze of the filesystem at some point of time.
  2. btrfs is a extent-based filesystem. This means there are no lists of pointers. btrfs tracks contiguous blocks, so called extents, together.
  3. btrfs makes checksums of data and metadata. Therefore it can detect errors in the filesystem in "realtime".
  4. 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.