BTRFS has a subvolume feature - allows to logically create subvolumes (file systems) within a BTRFS storage pool.
Every subvolume is like a normal filesystem, however it has a default mount path.
r9-008cln ~ # btrfs subv list /mnt/root
ID 620 gen 895 top level 5 path home
ID 621 gen 921 top level 620 path home/.snapshots
ID 622 gen 950 top level 621 path home/.snapshots/1/snapshot
I've got 3 subvolumes here. they are listed as a flat list, however, by default they can be accessed in the directory tree under paths indicated.
When snapper is configured on the volume (home in my example above), it creates one more subvolume .snapshots and puts the default mount just under the managed volume: home/.snapshots.
This .snapshots subvolume holds snapper's directory and xml files with additional information about every snapshot snapper creates.
Subvolumes are really like separate filesystems. The tools like find and rsync have flags to stay within 1 filesystem. Using those flags will keep them within 1 subvolume. Cool!
I'll use rsync to move all snapper directories and xml files to backup volume.