Install Instructions

Btrfs puts snapshots and subvolumes into the root directory of the FS.  This
directory can only be changed by btrfsctl right now, and normal filesystem
operations do not work on it.  The default subvolume is called 'default',
and you can create files and directories in mount_point/default

Btrfs uses libcrc32c in the kernel for file and metadata checksums.  You need
to compile the kernel with:

CONFIG_LIBCRC32C=m

libcrc32c can be static as well.  Once your kernel is setup, typing make in the
btrfs module sources will build against the running kernel.  When the build is
complete:

modprobe libcrc32c
insmod btrfs.ko

The Btrfs utility programs require libuuid to build.  This can be found
in the e2fsprogs sources, and is usually available as libuuid or
e2fsprogs-devel from various distros.

Building the utilities is just make ; make install.  The programs go
into /usr/local/bin.  The mains commands available are:

mkfs.btrfs: create a filesystem

btrfs: control program to create snapshots and subvolumes:
	# mount a btrfs filesystem
	mount /dev/sda2 /mnt

	# create a subvolume
	btrfs subvolume create /mnt/new_subvol_name

	# snapshot of a subvolume
	btrfs subvolume snapshot /mnt/default /mnt/snapshot_of_default 
	btrfs subvolume snapshot /mnt/snapshot_of_default \
		/mnt/snapshot_of_a_snapshot

	# list of the subvolumes
	ls /mnt
	default snapshot_of_a_snapshot snapshot_of_new_subvol
	new_subvol_name snapshot_of_default

	# removal of a subvolume or a snapshot
	btrfs subvolume delete /mn/snapshot_of_a_snapshot

	# look a the btrfs man page for further information
	man btrfs

btrfsck: do a limited check of the FS extent trees.</li>

btrfs-debug-tree: print all of the FS metadata in text form.  Example:

	btrfs-debug-tree /dev/sda2 >& big_output_file



