17 releases
new 0.1.20 | Nov 10, 2024 |
---|---|
0.1.19 | Jul 4, 2024 |
0.1.18 | Jun 11, 2024 |
0.1.15 | Mar 1, 2024 |
0.1.5 | Jul 12, 2023 |
#72 in Filesystem
79,385 downloads per month
Used in 85 crates
(11 directly)
29KB
515 lines
reflink-copy
Cross-platform(!) COW reflink copy of files
Some file systems implement COW (copy on write) functionality in order to speed up file copies. On a high level, the new file does not actually get copied, but shares the same on-disk data with the source file. As soon as one of the files is modified, the actual copying is done by the underlying OS.
This library supports Linux, Android, OSX, ios and Windows. As soon as other OS support the functionality, support will be added. For implementation details, visit the docs.
lib.rs
:
Some file systems implement COW (copy on write) functionality in order to speed up file copies. On a high level, the new file does not actually get copied, but shares the same on-disk data with the source file. As soon as one of the files is modified, the actual copying is done by the underlying OS.
This library exposes a single function, reflink
, which attempts to copy a file using the
underlying OSs' block cloning capabilities. The function signature is identical to std::fs::copy
.
At the moment Linux, Android, OSX, iOS, and Windows are supported.
Note: On Windows, the integrity information features are only available on Windows Server editions starting from Windows Server 2012. Client versions of Windows do not support these features. More Information
As soon as other OSes support the functionality, support will be added.
Dependencies
~0–39MB
~606K SLoC