The Linux "copy problem"
The Linux "copy problem"
Posted Jun 1, 2019 1:40 UTC (Sat) by tarkasteve (subscriber, #94934)In reply to: The Linux "copy problem" by smfrench
Parent article: The Linux "copy problem"
* Uses copy_file_range() where possible, falls back to userspace if not.
* Supports sparse files (with lseek; I wasn't aware of fiemap, is there any advantage to one over the other?)
* Partially parallel (recursive read is separate from copy operations; I have an todo for parallel copy as it seems to have advantages on nvme drives).
* Optional progress bar.
* Written in Rust
* Cross platform (well, Linux + other unix-like OSs; Windows may work, I've never managed to get Rust to work on it).
It doesn't support much in the way of permissions/ACLs ATM, it's still an intermittent WIP.
I did look at using O_DIRECT, but I get EINVAL. The open manpage lists a whole series of caveats and warnings about using it, including a disparaging quote from Linus.
Thanks for the discussion/article, it's given me some things to look into.
