Bug#827412: multipath-tools: /dev/mapper device files not removed when partition is removed

Andrew Patterson andrew.patterson at hpe.com
Mon Jun 20 21:59:48 UTC 2016


On Mon, 20 Jun 2016 23:09:30 +0530 Ritesh Raj Sarraf <rrs at debian.org> wrote:
> Control: tag -1 +moreinfo
> 
> I was thinking about this bug again, and I think the bug must be elsewhere.
> 
> Andrew: Are you able to consistently reproduce this bug on multiple setups ?
> 
> 
> The reason I think this bug may not be valid is for 2 reasons:
> 
> 1) If the bug was valid, it should have been reproducible in my virtual setup.
> 
> 2) More than 1, the patch being proposed should not be needed. Because even
> though a partition has an UUID with string "partN-mpath-*" the parent device is
> still owning the UUID with string "mpath-*". When the device is deleted, the
> event will be generated for the device itself. Which, should be able to catch
> the string regex of the latter I've exampled above. This is what is happening in
> my virtual setup.
> 
> 
> If 2 is correct, why has the OP seen the issue?
> We need confirmation if the issue was seen consistently on multiple setups. If
> so, are there other components that may be silently locking the device ?
> 
> 
> 
> On Mon, 2016-06-20 at 14:01 +0530, Ritesh Raj Sarraf wrote:
> > Surprisingly, I am not able to reproduce this bug, now, on my virtual setup.
> > Here, the updation to /dev/mapper/ entries are instant as and when partitions
> > are deleted, without the patch proposed in this bug report.
> > 
> > So inclusion of this patch will depend on the bug reporter's results. We also
> > need to determine the cause of the bug because it is not just reproducible
> > with
> > in a partitioned block device environment.
> > 
> -- 

Well. It seems that I can no longer reproduce this issue. Furthermore,
it seems that that the patched rule is not even triggered.  The rule is on
line #47 of /lib/udev/rules.d/60-kpartx. Running udevadm trigger does
not show that line being called.

# ls -l /dev/mapper/mpatha*
lrwxrwxrwx 1 root root 7 Jun 20 15:13 /dev/mapper/mpatha -> ../dm-0
lrwxrwxrwx 1 root root 7 Jun 20 15:13 /dev/mapper/mpatha-part1 -> ../dm-8
# ls -l /dev/disk/by-id/*mpath*
lrwxrwxrwx 1 root root 10 Jun 20 15:13 /dev/disk/by-id/dm-name-mpatha -> ../../dm-0
lrwxrwxrwx 1 root root 10 Jun 20 15:13 /dev/disk/by-id/dm-name-mpatha-part1 -> ../../dm-8
lrwxrwxrwx 1 root root 10 Jun 20 15:13 /dev/disk/by-id/scsi-mpatha -> ../../dm-0
lrwxrwxrwx 1 root root 10 Jun 20 15:13 /dev/disk/by-id/scsi-mpatha-part1 -> ../../dm-8

udevadm test --action remote /sys/block/dm-8
calling: test
version 230
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

=== trie on-disk ===
tool version:          230
file size:         6944075 bytes
header size             80 bytes
strings            1780123 bytes
nodes              5163872 bytes
Load module index
Found container virtualization none
timestamp of '/etc/systemd/network' changed
timestamp of '/lib/systemd/network' changed
Parsed configuration file /lib/systemd/network/99-default.link
Created link configuration context.
timestamp of '/etc/udev/rules.d' changed
timestamp of '/lib/udev/rules.d' changed
Reading rules file: /lib/udev/rules.d/50-firmware.rules
Reading rules file: /lib/udev/rules.d/50-udev-default.rules
Reading rules file: /lib/udev/rules.d/55-dm.rules
Reading rules file: /lib/udev/rules.d/55-scsi-sg3_id.rules
Reading rules file: /lib/udev/rules.d/56-lvm.rules
Reading rules file: /lib/udev/rules.d/58-scsi-sg3_symlink.rules
Reading rules file: /lib/udev/rules.d/60-block.rules
Reading rules file: /lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /lib/udev/rules.d/60-drm.rules
Reading rules file: /lib/udev/rules.d/60-evdev.rules
Reading rules file: /lib/udev/rules.d/60-gnupg.rules
Reading rules file: /lib/udev/rules.d/60-kpartx.rules
Reading rules file: /lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /lib/udev/rules.d/60-persistent-storage-dm.rules
Reading rules file: /lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /lib/udev/rules.d/60-serial.rules
Reading rules file: /lib/udev/rules.d/64-btrfs.rules
Reading rules file: /lib/udev/rules.d/69-lvm-metad.rules
Reading rules file: /lib/udev/rules.d/70-debian-uaccess.rules
Reading rules file: /lib/udev/rules.d/70-mouse.rules
Reading rules file: /lib/udev/rules.d/70-power-switch.rules
Reading rules file: /lib/udev/rules.d/70-uaccess.rules
Reading rules file: /lib/udev/rules.d/71-seat.rules
Reading rules file: /lib/udev/rules.d/73-seat-late.rules
Reading rules file: /lib/udev/rules.d/73-special-net-names.rules
Reading rules file: /lib/udev/rules.d/73-usb-net-by-mac.rules
Reading rules file: /lib/udev/rules.d/75-net-description.rules
Reading rules file: /lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /lib/udev/rules.d/78-sound-card.rules
Reading rules file: /lib/udev/rules.d/80-debian-compat.rules
Reading rules file: /lib/udev/rules.d/80-drivers.rules
Reading rules file: /lib/udev/rules.d/80-ifupdown.rules
Reading rules file: /lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /lib/udev/rules.d/85-hdparm.rules
Reading rules file: /lib/udev/rules.d/85-hwclock.rules
Reading rules file: /lib/udev/rules.d/90-console-setup.rules
Reading rules file: /lib/udev/rules.d/99-systemd.rules
rules contain 49152 bytes tokens (4096 * 12 bytes), 14495 bytes strings
2224 strings (27633 bytes), 1511 de-duplicated (13852 bytes), 714 trie nodes used
IMPORT 'dmsetup_env 254 8' /lib/udev/rules.d/60-kpartx.rules:12
starting 'dmsetup_env 254 8'
'dmsetup_env 254 8'(out) 'DM_UUID=part1-mpath-360002ac00000000000001904000028be'
'dmsetup_env 254 8'(out) 'DM_TABLE_STATE=LIVE'
'dmsetup_env 254 8'(out) 'DM_STATE=ACTIVE'
'dmsetup_env 254 8'(out) 'DM_NAME=mpatha-part1'
Process 'dmsetup_env 254 8' succeeded.
IMPORT 'kpartx_id 254 8 part1-mpath-360002ac00000000000001904000028be' /lib/udev/rules.d/60-kpartx.rules:17
starting 'kpartx_id 254 8 part1-mpath-360002ac00000000000001904000028be'
'kpartx_id 254 8 part1-mpath-360002ac00000000000001904000028be'(out) 'DM_MPATH=mpatha'
'kpartx_id 254 8 part1-mpath-360002ac00000000000001904000028be'(out) 'DM_PART=1'
'kpartx_id 254 8 part1-mpath-360002ac00000000000001904000028be'(out) 'DM_TYPE=scsi'
'kpartx_id 254 8 part1-mpath-360002ac00000000000001904000028be'(out) 'DM_WWN=0xpatha'
Process 'kpartx_id 254 8 part1-mpath-360002ac00000000000001904000028be' succeeded.
LINK 'disk/by-id/scsi-mpatha-part1' /lib/udev/rules.d/60-kpartx.rules:22
LINK 'disk/by-id/wwn-0xpatha-part1' /lib/udev/rules.d/60-kpartx.rules:30
update old name, '/dev/disk/by-id/dm-name-mpatha-part1' no longer belonging to '/devices/virtual/block/dm-8'
no reference left, remove '/dev/disk/by-id/dm-name-mpatha-part1'
update old name, '/dev/disk/by-id/dm-uuid-part1-mpath-360002ac00000000000001904000028be' no longer belonging to '/devices/virtual/block/dm-8'
no reference left, remove '/dev/disk/by-id/dm-uuid-part1-mpath-360002ac00000000000001904000028be'
update old name, '/dev/disk/by-uuid/f3cf40d9-e78e-425b-b88c-807535188ea8' no longer belonging to '/devices/virtual/block/dm-8'
no reference left, remove '/dev/disk/by-uuid/f3cf40d9-e78e-425b-b88c-807535188ea8'
update old name, '/dev/mapper/mpatha-part1' no longer belonging to '/devices/virtual/block/dm-8'
no reference left, remove '/dev/mapper/mpatha-part1'
handling device node '/dev/dm-8', devnum=b254:8, mode=0600, uid=0, gid=0
preserve already existing symlink '/dev/block/254:8' to '../dm-8'
found 'b254:8' claiming '/run/udev/links/\x2fdisk\x2fby-id\x2fscsi-mpatha-part1'
creating link '/dev/disk/by-id/scsi-mpatha-part1' to '/dev/dm-8'
preserve already existing symlink '/dev/disk/by-id/scsi-mpatha-part1' to '../../dm-8'
found 'b254:8' claiming '/run/udev/links/\x2fdisk\x2fby-id\x2fwwn-0xpatha-part1'
creating link '/dev/disk/by-id/wwn-0xpatha-part1' to '/dev/dm-8'
preserve already existing symlink '/dev/disk/by-id/wwn-0xpatha-part1' to '../../dm-8'
created db file '/run/udev/data/b254:8' for '/devices/virtual/block/dm-8'
.ID_FS_TYPE_NEW=
ACTION=remote
DEVLINKS=/dev/disk/by-id/wwn-0xpatha-part1 /dev/disk/by-id/scsi-mpatha-part1
DEVNAME=/dev/dm-8
DEVPATH=/devices/virtual/block/dm-8
DEVTYPE=disk
DM_MPATH=mpatha
DM_NAME=mpatha-part1
DM_PART=1
DM_STATE=ACTIVE
DM_TABLE_STATE=LIVE
DM_TYPE=scsi
DM_UUID=part1-mpath-360002ac00000000000001904000028be
DM_WWN=0xpatha
ID_FS_TYPE=
MAJOR=254
MINOR=8
SUBSYSTEM=block
TAGS=:systemd:
USEC_INITIALIZED=363164888098
Unload module index
Unloaded link configuration context.

-- 
Andrew Patterson
Hewlett-Packard Enterprise



More information about the pkg-lvm-maintainers mailing list