BtrFS r1 (See the current copy)

Butter Filesystem. Hold the toast.

I've started experimenting with BtrFS which aims to provide an "advanced and modern filesystem" (heavily compared to ZFS) on Linux. With my new workstation I've started using BtrFS for my home directories (/home) and my build directories (/mnt/slackbuilds) to gain exposure to the filesystem and compare it to ZFS and EXT4 on LVM (all of my other data, including my root disk is on EXT4 on LVM).

I have used ZFS heavily in the past, and using BtrFS is significantly different as many of the fundamental concepts are different. BtrFS has no concept of "pools" or "volume groups" -- instead there are "volumes." BtrFS has no concept of "datasets" or "logical volumes" -- instead there are "subvolumes".

Here's a comparison between ZFS, BtrFS, and EXT4 on LVM:

ZFS BtrFS EXT4 on LVM
Commands Involved zpool, zfs mkfs.btrfs, btrfs pvcreate, vgcreate, lvcreate, mkfs.ext4
Grow Online Yes Yes Yes
Shrink No Online Offline
Re-balance No Yes Can be done manually (pvmove)
Checksumming Yes Yes No