I;m not working with snapshots of whole filessytems. My construction works with a backups and snapshots by creating
a subvoume for the directory you want to backup (or better parts of it's contents). This subvolume is the dedicated backup for this
directory, and is kept in sync by fuse-backup (and the changes are logged in sqlite). With btrfs it's possible to create snapshots of this subvolume. If this is also possible with zfs, well I can add support for that.
Note that my construction is all about backing up userdirectories, not systemdirectories.