| Crates.io | lvm-sys2 |
| lib.rs | lvm-sys2 |
| version | 4.0.1 |
| 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 |
| size | 30,005 |
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/controlsudo chmod g+rwx /run/lock/lvm; sudo chown :disk /run/lock/lvmsudo chmod g+rw /run/lvm/hints; sudo chown :disk /run/lvm/hintssudo 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_NAMERefreshing:
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/controlshowed 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