I'm working an a tool (vdsm-tool update-volume) to make modifying SD metadata easier and more importantly, safer. This is very useful to recover from failed LSMs or snapshot issues.

The plan is to use the VDSM API (modified by some of these patches) and add a tool (vdsm-tool) that talks to the API and modifies the volumes metadata as required by the user. Currently this is done manually, i.e.: looking at MD_XXX tags, doing dd, sed and then dd back to the storage. Any wrong argument (like a skip in place of a seek) can ruin the entire metadata, so this tool can be quite handy.

The code is not necessarily 100% finished yet, but I've been testing this for some time and it seems ok from a functional point of view. I'm just not sure everything I did (especially inside VDSM, example 94366) is correct. Your comments on what can/should be improved are very welcome at this point. Please see this series and help reviewing it.