On Mon, 2024-11-04 at 15:00 +0100, Zdenek Kabelac wrote:
> Dne 03. 11. 24 v 23:43 Martin Wilck napsal(a):
> > When multipath reloads a device or fails or restores a path, the
> > udev
> > rules disable LVM scanning, but since .DM_NOSCAN isn't set, blkid
> > is
> > still run on the device. When multipath devices that are set to
> > queue_if_no_path lose all their paths at close to the same time,
> > udev
> 
> 
> Hi
> 
> 
> There is worth to be mentioned -   blkid has for a long time
> 'special' rule 
> -built-in   for LVM (and some other devices i.e. crypt...)
> 
> So whenever lvm2  uses   LVM-uuid-suffix     with the '-suffix' in
> it's UUID - 
> it's a private DM device which is never even opened by blkid. We
> would like to 
> convert all remaining LV activations to use this logic for every
> 'private' 
> device - since this logic is 'persistent' and survive even complete 
> removal 
> od udevdb. However it takes some time and also the backward
> compatibility is 
> complicating things a lot.
> 
> But all I say is - the relaing on any logic of  the udev flags is
> always kind 
> of  problematic - and lvm2 does not depend on this fragile flagging
> too much.

Thanks for the hint. I think you're referring to libblkid's commit
20e1c3d ("libblkid: ignore private LVM devices"), which makes blkid
ignore devices with LVM UUIDs matching "LVM-.*-.*". I actually hadn't
been aware of this.

But note that multipath is overloading the .DM_NOSCAN flag here to tell
higher layers that blkid shouldn't be run in the first place if a
multipath map is in a certain state (we're reusing this flag, which was
originally created for LVM, in a similar but not identical case where
we want the blkid call to be skipped).

Unlike LVM, multipath has no way to set a UUID with special properties,
because multipath doesn't own any meta data on disk. In the case of
multipath, the .DM_NOSCAN property can, and will, change for a map
while its UUID remains constant. That's what this patch is about.

Thanks
Martin


Reply via email to