libblockdev
| Source code | API Documentation | Developer Guide |
libblockdev is a C library supporting GObject introspection for manipulation of block devices. It has a plugin-based architecture where each technology (like LVM, Btrfs, MD RAID, Swap,…) is implemented in a separate plugin, possibly with multiple implementations (e.g. using LVM CLI or the new LVM DBus API).
Features
Following storage technologies are supported by libblockdev
- partitions
- MSDOS, GPT
- filesystem operations
- ext2, ext3, ext4, xfs, vfat, ntfs, exfat, btrfs, f2fs, nilfs2, udf
- mounting
- LVM
- thin provisioning, LVM RAID, cache, LVM VDO
- BTRFS
- multi-device volumes, subvolumes, snapshots
- swap
- encryption
- LUKS, TrueCrypt/VeraCrypt, BitLocker, FileVault2
- integrity
- SED OPAL
- DM (device mapper)
- loop devices
- MD RAID
- multipath
- s390
- DASD, zFCP
- NVDIMM namespaces (deprecated)
- NVMe
- SMART