#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

#1300 in Filesystem

Download history 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 83/week @ 2024-11-09 90/week @ 2024-11-16 66/week @ 2024-11-23 58/week @ 2024-11-30 64/week @ 2024-12-07 287/week @ 2024-12-14 88/week @ 2024-12-21 66/week @ 2024-12-28 74/week @ 2025-01-04

518 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
~444K SLoC