Blivet-gui is a graphical tool for storage management that uses Blivet library. It provides an easy way to create, modify or delete various storage devices. Currently available features includes LVM storage management (including support for LVM cache, LVM RAID or Thin LVM), Btrfs (including support for Btrfs RAID, subvolumes and snapshots), MD RAID, encrypted devices using LUKS and of course support for managing standard disk partitions and filesystems.
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). Every plugin is also usable as a standalone shared library.
The goal of this project is to provide a tiny library that would facilitate the common operations with sizes in bytes. Many projects need to work with sizes in bytes (be it sizes of storage space, memory,...) and all of them need to deal with the same issues like:
How to get a human-readable string for the given size?
How to store the given size so that no significant information is lost?
If we store the size in bytes, what if the given size gets over the MAXUINT64 value?