Fun with LVM2, UDisks2, and storaged.

Marius Vollmer marius.vollmer at redhat.com
Fri Jan 17 14:42:49 UTC 2014


Hi,

UDisks2 has trouble with thinly provisioned logical volumes in Fedora
20, which also affects storaged and Cockpit in delicate ways, so this is
a little heads up.

Basically, UDisks2 doesn't always create a D-Bus object for the block
device of a thin volume.  (And it sometimes creates one erroneously for
the pool.)

https://bugs.freedesktop.org/show_bug.cgi?id=73731

Cockpit used to rely on the existence of a block device object to
determine whether or not a volume was active or inactive.  When UDisks2
doesn't create these objects reliable, this becomes unreliable and we
might see a "inactive" volume in the UI that is in fact active.  Trying
to activate such a volume doesn't work and things are just weird.

Initially I thought we just work around the bug with some udev hackery,
but the final fix isn't really clear to me yet, so maybe the hack will
just make the mess bigger.

Instead, I have made storaged and Cockpit more robust: A active volume
without a block device object is now labelled as "active, but
unsupported" and you can't do anything with it.

Luckily, deactivating and then reactivating a volume will make it
visible to UDisks2, and I am going to use that workaround in the test
suite for now.

Fun! :-)


More information about the cockpit-devel mailing list