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).


Comments

  • aschnell
    over 4 years ago by aschnell | Reply

    For me the project was interesting and successful. I have documented it at https://github.com/aschnell/libstorage-bgl-eval/wiki. The code is also available there.

Similar Projects

This project is one of its kind!