#ioctl #userspace #interface #io

btrfs

Interface for BTRFS ioctls etc

6 releases (stable)

Uses old Rust 2015

1.2.2 Jul 4, 2017
1.2.1 Jan 8, 2017
1.2.0 Nov 20, 2016
1.1.0 Oct 15, 2016
0.1.0 Oct 15, 2016

#1562 in Filesystem


Used in btrfs-dedupe

MIT license

85KB
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

~3MB
~60K SLoC