[linux-lvm] Identifying useable block devices
marius.vollmer at redhat.com
Fri Jan 24 14:39:02 UTC 2014
Peter Rajnoha <prajnoha at redhat.com> writes:
>> The flag (DM_UDEV_DISABLE_OTHER_RULES_FLAG) is here to direct
>> udev processing to skip any scans - it's not actually saying
>> everyone else should remove this device now. It's just saying
>> "don't access/touch it" when this flag is set. If there was a
>> situation where we really need to remove (deactivate) the device,
>> we'd do that in lvm2 directly within processing of the device.
> ...simply, the event listener that gets the event with this flag
> set should just consider this dm device as "private".
Yeah, that's what treating events with the flag as a "remove" event is
meant to accomplish.
UDisks2 maintains objects on D-Bus corresponding to public udev block
devices. When a device changes from public to private, we should remove
the corresponding object from D-Bus. The code for that is the same as
when UDisks2 receives a "remove" event for the device AFAICS, so we just
jump into that code path by changing the event action early on.
The alternative is to also create D-Bus objects for private udev block
devices, but set UDISKS_IGNORE for them (and rely on its clients to dtrt
with that). I think that is what UDisks 1 used to do, but David has
choosen not to do this for UDisks2. I can't really judge which approach
is better. Do you have an opinion?
More information about the linux-lvm