# fs3 Extended utilities for working with files and filesystems in Rust. `fs3` is a fork of [`fs2`](https://github.com/danburkert/fs2-rs). [![Documentation](https://docs.rs/fs3/badge.svg)](https://docs.rs/fs3) [![Crate](https://img.shields.io/crates/v/fs3.svg)](https://crates.io/crates/fs3) ## Features - [x] file descriptor duplication. - [x] file locks. - [x] file (pre)allocation. - [x] file allocation information. - [x] filesystem space usage information. ## Platforms `fs3` should work on any platform supported by [`libc`](https://github.com/rust-lang/libc). ## Benchmarks Simple benchmarks are provided for the methods provided. Many of these benchmarks use files in a temporary directory. On many modern Linux distros the default temporary directory, `/tmp`, is mounted on a tempfs filesystem, which will have different performance characteristics than a disk-backed filesystem. The temporary directory is configurable at runtime through the environment (see [`env::temp_dir`](https://doc.rust-lang.org/stable/std/env/fn.temp_dir.html)). ## License `fs3` is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0). See [LICENSE-APACHE](LICENSE-APACHE), [LICENSE-MIT](LICENSE-MIT) for details. Copyright (c) 2015 Dan Burkert. Copyright 2020 Oxide Computer Company