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:
-Btrfs uses the crypto manager interface in the kernel for file and
-metadata checksums. You need to compile the kernel with:
+CONFIG_LIBCRC32C=m
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_MANAGER=m
-CONFIG_CRYPTO_CRC32C=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:
-cryptomanager and crc32c 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 crc32c
-modprobe cryptomgr
+modprobe libcrc32c
insmod btrfs.ko
The Btrfs utility programs require libuuid to build. This can be found
e2fsprogs-devel from various distros.
Building the utilities is just make ; make install. The programs go
-into /usr/local/bin. The commands available are:
+into /usr/local/bin. The mains commands available are:
mkfs.btrfs: create a filesystem
-btrfsctl: control program to create snapshots and subvolumes:
-
+btrfs: control program to create snapshots and subvolumes:
+ # mount a btrfs filesystem
mount /dev/sda2 /mnt
- btrfsctl -s new_subvol_name /mnt
- btrfsctl -s snapshot_of_default /mnt/default
- btrfsctl -s snapshot_of_new_subvol /mnt/new_subvol_name
- btrfsctl -s snapshot_of_a_snapshot /mnt/snapshot_of_new_subvol
+
+ # 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
- Snapshots and subvolumes cannot be deleted right now, but you can
- rm -rf all the files and directories inside them.
+ # 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>
-debug-tree: print all of the FS metadata in text form. Example:
+btrfs-debug-tree: print all of the FS metadata in text form. Example:
+
+ btrfs-debug-tree /dev/sda2 >& big_output_file
+
- debug-tree /dev/sda2 >& big_output_file