fskit
fskit copied to clipboard
Snapshot support
Add an ioctl() that forces an fskit-enabled app to atomically dump the state of its filesystem to disk.
This should be a matter of:
- write-lock the root inode
- explore the filesystem tree and dump inode state
- optionally call the app-defined read() callback (*) when exploring each regular file inode
- unlock the root inode
Step 3 should be optional at the caller's discretion, since despite whatever documentation and warnings we may write to advise against it, we can't feasibly guarantee that read() will be side-effect-free for a particular application.
Would it be possible to use btrfs snapshots/subvolumes as the root of the FSKit . . .
https://gitlab.com/btrfs-assistant/btrfs-assistant
https://github.com/andreittr/btrsync
https://github.com/nachoparker/btrfs-sync
https://github.com/mwilck/btrfs-clone
https://github.com/devel0/btrfs-rsync