danburkert/fs2-rs

Extended utilities for working with files and filesystems in Rust

Rust

160

47 commits

updated Feb 16, 2024

See the code

README

fs2

Extended utilities for working with files and filesystems in Rust. fs2 requires Rust stable 1.8 or greater.

Build Status Windows Build status Documentation Crate

Features

  • file descriptor duplication.
  • file locks.
  • file (pre)allocation.
  • file allocation information.
  • filesystem space usage information.

Platforms

fs2 should work on any platform supported by libc.

fs2 is continuously tested on:

  • x86_64-unknown-linux-gnu (Linux)
  • i686-unknown-linux-gnu
  • x86_64-apple-darwin (OSX)
  • i686-apple-darwin
  • x86_64-pc-windows-msvc (Windows)
  • i686-pc-windows-msvc
  • x86_64-pc-windows-gnu
  • i686-pc-windows-gnu

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).

License

fs2 is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE, LICENSE-MIT for details.

Copyright (c) 2015 Dan Burkert.

Significant stargazers

Martin Liška

145 followers · starred Feb 2025

Jack O'Connor

622 followers · starred Oct 2019

Brendan Ashworth

174 followers · starred Jul 2017

danburkert/fs2-rs

Extended utilities for working with files and filesystems in Rust

Rust

160

47 commits

updated Feb 16, 2024

See the code

README

fs2

Extended utilities for working with files and filesystems in Rust. fs2 requires Rust stable 1.8 or greater.

Build Status Windows Build status Documentation Crate

Features

  • file descriptor duplication.
  • file locks.
  • file (pre)allocation.
  • file allocation information.
  • filesystem space usage information.

Platforms

fs2 should work on any platform supported by libc.

fs2 is continuously tested on:

  • x86_64-unknown-linux-gnu (Linux)
  • i686-unknown-linux-gnu
  • x86_64-apple-darwin (OSX)
  • i686-apple-darwin
  • x86_64-pc-windows-msvc (Windows)
  • i686-pc-windows-msvc
  • x86_64-pc-windows-gnu
  • i686-pc-windows-gnu

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).

License

fs2 is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE, LICENSE-MIT for details.

Copyright (c) 2015 Dan Burkert.

Significant stargazers

Martin Liška

145 followers · starred Feb 2025

Jack O'Connor

622 followers · starred Oct 2019

Brendan Ashworth

174 followers · starred Jul 2017