https://github.com/opencoff/go-fio
optimized file I/O routines - including reflink based copies/clones
https://github.com/opencoff/go-fio
Last synced: about 1 year ago
JSON representation
optimized file I/O routines - including reflink based copies/clones
- Host: GitHub
- URL: https://github.com/opencoff/go-fio
- Owner: opencoff
- License: gpl-2.0
- Created: 2024-10-14T16:13:26.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-23T20:56:40.000Z (about 1 year ago)
- Last Synced: 2025-04-23T21:36:05.425Z (about 1 year ago)
- Language: Go
- Size: 256 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# go-fio - optimized file I/O routines
## Description
This is a collection of cross platform file I/O and File system functions. These use
concurrency to speed up the underlying functions.
- `fio.Info`: a serializable version of Stat/Lstat that uses OS specific functions
- Utilities to copy a file or dir along with all its metadata (including XATTR)
The file copy functions will use the best underlying primitive like reflink(2);
and fallback to using mmap based copy.
- `Safefile`: a wrapper over `os.OpenFile` that atomically commits the writes. This
uses a temporary file for all the I/O and calling `Close()` atomically renames
the temporary file to the intended file.
### Subpackages
- `cmp`: compares two directory trees and returns their differences
- `clone`: clones a source directory tree to a destination - skipping over identical
files.
- `walk`: A concurrent directory tree traversal library