Storing the devices in libstorage as a graph looks like a natural approach. The boost graph library (BGL) could be used here instead of the selfmade iterator over iterator (not a graph) concept currently used.
Together with a redesign of the current objects several features would be simple, e.g. using disks for filesystems, renaming LVM volume groups and logical volumes, switching to and from partitioned MD RAID.
Additional the commit actions could be sorted using a topological sort thus possibly providing parallelism (e.g. for filesystem creation).
The goal of the hackweek project is to better understand the concept of the BGL and see how it can be used for libstorage. An implementation is not the goal (will likely take several months).
Looking for hackers with the skills:
Nothing? Add some keywords!
This project is part of:
Hack Week 11
This project is one of its kind!