I heard that Kernel 2.6.35 will have btrfs and that Ubuntu 10.10 could have btrfs by default.
What will be its features?
Will I be able to migrate my data from my current ext4 partition?
btrfs or Butter FS is a filesystem and has some interesting features:
- 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)
- In-place conversion (with rollback) from ext3/4 to Btrfs
- File system seeding (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 deduplication
From Wikipedia. I'm sorry i can't answer your other questions as i don't know much about it.
Btrfs has and plans a number of rock star features: http://en.wikipedia.org/wiki/Btrfs#Features
These are mostly the features that ZFS has. ZFS is native to Sun's Solaris and OpenIndiana. ZFS can be used with Linux, but ZFS can't be distributed with Linux. There are licensing issues. ZFS on Ubuntu can be obtained through the Ubuntu ZFS PPA. (Here's some information about PPA safety.) ZFS's licensing issues are one of the reasons users may prefer to use btrfs.
On big feature of btrfs is deduplication. That means that any data repetitions on your system will be stored only once no matter how many times you repeat it. So you can make 100 copies of a large folder (say 1 TB) and make small modifications to each one but the amount of disk occupied will still be around 1 TB. This is useful for things like running a local cloud with 100s of VMs. The filesystems of all the VMs are mostly the same data with some minor differences. So would need only 1 unit of disk space instead of 100s of units.
Deduplication is still a planned feature in Btrfs.