From that y2log it appears that it's the Btrfs subvolumes that cause all those confusing errors in the log. All entries in /proc/mounts (reformatted and minus the mount option to avoid Bugzilla mangling it completely): tmpfs / tmpfs tmpfs / tmpfs proc /proc proc sysfs /sys sysfs /dev/loop0 /parts/mp_0000 squashfs /dev/loop1 /parts/mp_0001 squashfs devtmpfs /dev devtmpfs devpts /dev/pts devpts rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs /dev/loop2 /mounts/mp_0000 squashfs /dev/loop3 /mounts/mp_0001 squashfs /dev/loop5 /mounts/mp_0003 squashfs /dev/loop6 /mounts/mp_0004 squashfs /dev/sda2 /mnt btrfs /dev/sda2 /mnt/.snapshots btrfs /dev/sda2 /mnt/boot/grub2/i386-pc btrfs /dev/sda2 /mnt/boot/grub2/x86_64-efi btrfs /dev/sda2 /mnt/home btrfs /dev/sda2 /mnt/opt btrfs /dev/sda2 /mnt/root btrfs /dev/sda2 /mnt/srv btrfs /dev/sda2 /mnt/tmp btrfs /dev/sda2 /mnt/usr/local btrfs /dev/sda2 /mnt/var btrfs devtmpfs /mnt/dev devtmpfs proc /mnt/proc proc sysfs /mnt/sys sysfs tmpfs /mnt/run tmpfs But we only need mounts to /mnt, so let's grep for that: /dev/sda2 /mnt btrfs /dev/sda2 /mnt/.snapshots btrfs /dev/sda2 /mnt/boot/grub2/i386-pc btrfs /dev/sda2 /mnt/boot/grub2/x86_64-efi btrfs /dev/sda2 /mnt/home btrfs /dev/sda2 /mnt/opt btrfs /dev/sda2 /mnt/root btrfs /dev/sda2 /mnt/srv btrfs /dev/sda2 /mnt/tmp btrfs /dev/sda2 /mnt/usr/local btrfs /dev/sda2 /mnt/var btrfs devtmpfs /mnt/dev devtmpfs proc /mnt/proc proc sysfs /mnt/sys sysfs tmpfs /mnt/run tmpfs Notice that all the snapshots on the root filesystem are also there. But unmounting them separately is what fails with that "filesystem busy" error, so that's what we need to avoid.