#btrfs #interface #ioctl #io #fixes #fork #upstream

btrfs2

Interface for BTRFS ioctls etc | fork of the btrfs-crate containing fixes. Intent to yank crate once fixes are accepted upstream!

1 stable release

Uses old Rust 2015

1.2.2 Jun 19, 2017

#5 in #fixes

Download history 2/week @ 2023-12-17 4/week @ 2024-01-07 1/week @ 2024-01-14 3/week @ 2024-02-04 7/week @ 2024-02-11 18/week @ 2024-02-18 24/week @ 2024-02-25 14/week @ 2024-03-03 19/week @ 2024-03-10 22/week @ 2024-03-17 21/week @ 2024-03-24 49/week @ 2024-03-31

112 downloads per month
Used in 4 crates (2 directly)

MIT license

84KB
3.5K SLoC

Rust BTRFS library

Home page at rust-btrfs.com

Git repository at [gitlab.wellbehavedsoftware.com] (https://gitlab.wellbehavedsoftware.com/well-behaved-software/rust-btrfs)

Mirrord at github.com

Available from crates.io

Written by James Pharaoh

Documentation at docs.rs

Open sourced under the permissive [MIT licence] (https://opensource.org/licenses/MIT)

Description

This is a (somewhat incomplete) rust reimplementation of the rust userspace library. In fact, there isn't a C userspace library as such, but the userspace tools include lowlevel interfaces which this project is based on.

This is mostly here to implement the things I need for now, but I'm open to any contributions to make this the standard BTRFS userspace library for rust!

Supported features

This library consists of a number of wrappers around the BTRFS ioctls.

  • Deduplication (not BTRFS specific)
  • Fiemap (file extent map, not BTRFS specific)
  • File system info
  • Space and device info

BTRFS wiki

[BTRFS utilities (kdave)] (git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git)

[BTRFS utilities (mason)] (git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git)

Dependencies

~2.5MB
~55K SLoC