Crates.io | lvm-sys2 |
lib.rs | lvm-sys2 |
version | |
source | src |
created_at | 2025-03-03 20:10:21.064575+00 |
updated_at | 2025-03-07 17:26:14.00198+00 |
description | LVM FFI bindings |
homepage | https://github.com/skorobogatydmitry/lvm-sys2 |
repository | |
max_upload_size | |
id | 1576262 |
Cargo.toml error: | TOML parse error at line 21, column 1 | 21 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
Basic FFI lvm bindings for Rust.
This crate, unlike the original lvm-sys, uses the new header lvm2cmd.h
instead of lvm2app.h
, which is not available starting from around 2018.
This library was developed on
LVM version: 2.03.30(2) (2025-01-14)
Library version: 1.02.204 (2025-01-14)
Driver version: 4.49.0
Library contains unsafe bindings for lvm2cmd.h
and a safe wrapper in [lvm::Lvm].
To run LVM commands as non-root (e.g. in crate's tests), you need to
sudo usermod -aG disk USERNAME
and re-loginsudo chmod g+rw /dev/mapper/control; sudo chown :disk /dev/mapper/control
sudo chmod g+rwx /run/lock/lvm; sudo chown :disk /run/lock/lvm
sudo chmod g+rw /run/lvm/hints; sudo chown :disk /run/lvm/hints
sudo find /run/lvm/ -type f -print -exec chmod g+rw {} \;
sudo find /run/lvm/ -type s -print -exec chmod g+rw {} \;
sudo find /run/lvm/ -type d -print -exec chmod g+rwx {} \;
sudo find /run/lvm/ -type f -print -exec chown :disk {} \;
sudo find /run/lvm/ -type s -print -exec chown :disk {} \;
sudo find /run/lvm/ -type d -print -exec chown :disk {} \;
sudo setcap cap_sys_admin,cap_fowner+ep BINARY_NAME
Refreshing:
BIN_NAME=`which lvm`
sudo chmod g+rw /dev/mapper/control; sudo chown :disk /dev/mapper/control
sudo chmod g+rwx /run/lock/lvm; sudo chown :disk /run/lock/lvm
sudo chmod g+rw /run/lvm/hints; sudo chown :disk /run/lvm/hints
sudo find /run/lvm/ -type f -print -exec chmod g+rw {} \;
sudo find /run/lvm/ -type s -print -exec chmod g+rw {} \;
sudo find /run/lvm/ -type d -print -exec chmod g+rwx {} \;
sudo find /run/lvm/ -type f -print -exec chown :disk {} \;
sudo find /run/lvm/ -type s -print -exec chown :disk {} \;
sudo find /run/lvm/ -type d -print -exec chown :disk {} \;
sudo setcap cap_sys_admin,cap_fowner+ep $BIN_NAME
Quick research for
/dev/mapper/control
showed that it, it seems, appears before any udev rules take effect.
cargo doc --open --document-private-items
Command to list services:
dbus-send --session \
--dest=org.freedesktop.DBus \
--type=method_call \
--print-reply \
/org/freedesktop/DBus \
org.freedesktop.DBus.ListNames
... doesn't show LVM.
There's no DBus daemon on Manjaro => raised a question on forum
Command to check methods in the future:
dbus-send --system --type=method_call --print-reply \
--dest=org.asamk.Signal \
/org/asamk/Signal \
org.freedesktop.DBus.Introspectable.Introspect