libfs
is a library of file and filesystem operations that is supplementary to
std::fs. Current features:
- High and mid-level functions for creating and copying sparse files.
- Copying will use Linux copy_file_range where possible, with fall-back to userspace.
- Scanning and merging extent information on filesystems that support it.
- File permission copying, including xattrs.
Some of the features are Linux specific, but most have fall-back alternative implementations for other Unix-like OSs. Further support is todo.
libfs
is part of the xcp project.