Hi, I'm seeing this bug in a different usecase on Debian Bookworm with LVM 2.03.16-2: multipath is set up, the multipath device is an LVM physical volume in a volume group with a thin pool. To prevent LVM from picking up on the multipath components, /etc/lvm/lvm.conf has a global_filter that rejects the multipath components by matching on their /dev/disk/by-id symlink paths.
I have replicated this setup in a VM, with the following global_filter in /etc/lvm/lvm.conf: devices { global_filter=["r|/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1|","r|/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi2|"] } The relevant portion of /dev/disk/by-id: lrwxrwxrwx 1 root root 9 Aug 29 16:31 scsi-0QEMU_QEMU_HARDDISK_drive-scsi1 -> ../../sdb lrwxrwxrwx 1 root root 9 Aug 29 16:31 scsi-0QEMU_QEMU_HARDDISK_drive-scsi2 -> ../../sdc After running update-initramfs and rebooting, pvs and other LVM tooling reports the following warning: # pvs WARNING: Device mismatch detected for somegroup/somethinpool_tmeta which is accessing /dev/sdb instead of /dev/mapper/mpatha. WARNING: Device mismatch detected for somegroup/somethinpool_tdata which is accessing /dev/sdb instead of /dev/mapper/mpatha. PV VG Fmt Attr PSize PFree /dev/mapper/mpatha somegroup lvm2 a-- <4.00g <2.99g >From reading this report and the now-resolved upstream report, this seems to happen because the /dev/disk/by-id symlinks are not available by the time the LVM udev hooks run, so the r|...| filters do not have any effect. Indeed, if I use r|/dev/sdb| and r|/dev/sdc| instead, run update-initramfs and reboot, the warning does not appear anymore. However, being able to use the /dev/disk/by-id paths would be preferable. With the following four patches applied, I can use /dev/disk/by-id in the filters and the warning does not appear: https://sourceware.org/git/?p=lvm2.git;a=commit;h=17a3585cbb55d9a15ced9775a18b50c53a50ee8e https://sourceware.org/git/?p=lvm2.git;a=commit;h=c9fdc828ff0504bc2e57f65862bc382f7663a8a2 https://sourceware.org/git/?p=lvm2.git;a=commit;h=6d14144d311fb347e4225ad6a48d4900b39445c4 https://sourceware.org/git/?p=lvm2.git;a=commit;h=bd05318ba2fc588be6339f5dc61f09195996b0e9 The first three patches are mentioned in the upstream bug report [1] and cause pvscan to read symlink names from udev's DEVLINKS environment variable under certain conditions. One of the conditions is that at least one of the filter regexes refer to a symlink. However, this check only considers a|...| filters [2], so it doesn't trigger if only r|...| filters are used as above. Hence, in my case the fourth patch is also needed, as it removes the filter regex check altogether. Is there a chance the patches could be backported? All four patches seem to be included in upstream release 2.03.19 [3]. Happy to provide any more information if needed! Thanks and best wishes, Friedrich [1] https://github.com/lvmteam/lvm2/issues/104 [2] https://sourceware.org/git/?p=lvm2.git;a=blob;f=lib/filters/filter-regex.c;h=ecc32914b0e15ba9cbac5c101cffddf25eddd8ad;hb=6d14144d311fb347e4225ad6a48d4900b39445c4#l272 [3] https://sourceware.org/git/?p=lvm2.git;a=shortlog;h=refs/tags/v2_03_19