Before you begin again.
1. create a 100MB boot partition that is ext3 (for simplicity), create another partition spanning the whole drive (or leave room for other stuff)
2. format the second partition to btrfs
3. create a subvolume on the brtfs partition. This will be the default subvolume that's mounted when you mount the partition with no options.
4. go through the normal slackware install, everything -should- be installed to that default subvolume automatically.
5. Before rebooting, chmod /mnt
6. Create an initrd and include the ext3 and brtfs modules.
If you are really concerned about log file sizes, change the log settings for the programs you are concerned about or create a /var partition that is ext3.
With the above steps, you can now do snapshots to other subvolumes at the root of the filesystem if you pass some mount options to mount the whole filesystem.
If it's on a normal unencrypted non lvm partition, you can play with the seed function. seed only works with two seperate filesystems. Slackware 13.37 does not come with the program to swap the seed flag. You have to compile this your self from the main package.
Adding this right after the "make install" in the slackware script will do the job
# make the program to toggle the seed flag.
make $NUMJOBS btrfstune || make btrfstune || exit 1
# the script moves everything out of /usr/local/bin
if [ -e btrfstune ]; then install btrfstune $PKG/usr/local/bin || exit 1; fi
Outwardly, subvolumes appear the same as directories when the filesystem is mounted. But they have differences in the way they are stored on the disk and what you can do with them. Each subvolume has an ID that can be passed to the mount program to mount that specific sub volume. mounting a parent subvolume will automatically give you access to all of its subvolumes.