Rust BTRFS library, via kernel APIs and direct lowlevel access
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
src more work on disk format Jul 24, 2017
.gitignore initial version Oct 15, 2016
Cargo.toml more work on disk format Jul 24, 2017 updates to readme Jul 19, 2017

Rust BTRFS library

Home page at

Git repository at

Available from

Written by James Pharaoh

Documentation at

Open sourced under the permissive MIT licence


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

Other links

  • BTRFS wiki
  • BTRFS utilities (kdave) git://
  • BTRFS utilities (mason) git://