[][src]Crate btrfsutil

btrfsutil-rs

Build Status btrfsutil docs libbtrfsutil version

Safe wrappers for libbtrfsutil.

Building

This library links to libbtrfsutil, a shared library provided by installing btrfs-progs on most Linux systems.

  • Arch Linux: # pacman -S btrfs-progs
  • Ubuntu: # apt install btrfs-progs

Usage

Please keep in mind that many of the operations this library can perform may require elevated privileges(CAP_SYSTEM_ADMIN).

Examples

How to run examples with elevated privileges:

  • build with: cargo build --examples
  • execute with: sudo target/debug/examples/example_name.

Subvolume iterator info

This example requires elevated privileges.

// This will print out informations about all subvolumes under /

// Retrieve the subvolume for /
let root_subvol = Subvolume::get("/").unwrap();

// Retrieve a subvolume iterator for /
let subvol_iterator: SubvolumeIterator = {
    let result: Result<SubvolumeIterator> = root_subvol.into();
    result.unwrap()
};

// Iterate over the subvolumes and print out their debug information
for subvolume in subvol_iterator {
    println!("{:?}", subvolume.info().unwrap());
}

Re-exports

pub use error::BtrfsUtilError;

Modules

bindings

Raw bindings to libbtrfsutil.

error

Library errors

qgroup

Btrfs quota groups

subvolume

Btrfs subvolumes

Type Definitions

Result

Result type used by this library.