#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

15 unstable releases (7 breaking)

0.8.0 Oct 28, 2024
0.7.2 Jun 22, 2024
0.7.1 Feb 23, 2024
0.5.0 Dec 20, 2023

#1269 in Filesystem

Download history 93/week @ 2024-07-27 121/week @ 2024-08-03 128/week @ 2024-08-10 46/week @ 2024-08-17 50/week @ 2024-08-24 332/week @ 2024-08-31 118/week @ 2024-09-07 78/week @ 2024-09-14 111/week @ 2024-09-21 72/week @ 2024-09-28 93/week @ 2024-10-05 151/week @ 2024-10-12 83/week @ 2024-10-19 326/week @ 2024-10-26 145/week @ 2024-11-02 62/week @ 2024-11-09

621 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

~12–20MB
~382K SLoC