2 个版本
0.1.1 | 2023年2月6日 |
---|---|
0.1.0 | 2023年2月6日 |
1331 在 文件系统 中
22KB
313 行
mkfs-btrfs-rs
类型安全的 Rust 中对 mkfs.btrfs
的封装。
不是 FFI 绑定,只是命令封装,让你感觉有点像在写 Rust。
-
如果你想创建一个 btrfs 卷,请查看
Formatter
。 -
如果你想查看所有选项的完整列表,请查看
format::FormatterOptions
。
示例
use mkfs_btrfs_rs::{Result, Formatter};
fn main() -> Result<()> {
let formatter = Formatter::options()
.label("my_awesome_label")?
.build()
.format("/tmp/some/file")?;
Ok(())
}
use mkfs_btrfs_rs::{Formatter, Result};
use std::process::Output;
fn main() -> Result<()> {
let formatter = Formatter::options()
// If you provide a rootdir, mkfs.btrfs will copy the stuff in that dir into the new volume
.rootdir("/")?
// Labels can be arbitrary UTF-8, max 256 bytes
.label("My Awesome New Partition")?
// Mix data and metadata blocks
.mixed()?
// Don't force-format
// .force()?
.build();
let Output {
status: _status,
stdout: out,
stderr: err,
} = formatter.format("/dev/sdxY")?;
println!(
"> STDOUT:\n{}\n> STDERR:\n{}",
String::from_utf8(out).unwrap(),
String::from_utf8(err).unwrap(),
);
Ok(())
}
依赖项
~300–770KB
~18K SLoC