#file-permissions #sparse #file #file-io #file-copy #coreutils

libfs

libfs is a library of file and filesystem operations that is supplementary to std::fs

16 releases

0.8.1 Dec 18, 2024
0.8.0 Oct 28, 2024
0.7.3 Sep 2, 2024
0.7.2 Jun 22, 2024
0.5.0 Dec 20, 2023

#1504 in Filesystem

Download history 80/week @ 2024-10-07 151/week @ 2024-10-14 74/week @ 2024-10-21 363/week @ 2024-10-28 122/week @ 2024-11-04 73/week @ 2024-11-11 89/week @ 2024-11-18 67/week @ 2024-11-25 55/week @ 2024-12-02 62/week @ 2024-12-09 310/week @ 2024-12-16 74/week @ 2024-12-23 75/week @ 2024-12-30 63/week @ 2025-01-06 52/week @ 2025-01-13 56/week @ 2025-01-20

263 downloads per month
Used in 2 crates

GPL-3.0-only

48KB
1K SLoC

libfs: Advanced file and fs operations

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.

Crates.io doc.rs Github Actions CircleCI

Dependencies

~14–22MB
~442K SLoC