Bug#726296: kpartx: [regression] missing workaround in /lib/udev/rules.d/60-kpartx.rules after kpartx update: does not create/update anymore partitions mappings

Salvatore Bonaccorso carnil at debian.org
Mon Oct 14 08:20:35 UTC 2013


Package: kpartx
Version: 0.4.9+git0.4dfdaf2b-7~deb7u1
Severity: serious
Justification: regression from previous version

Hi

After the wheezy point release and updating multipath-tools and kpartx
to 0.4.9+git0.4dfdaf2b-7~deb7u1 symlinks in /dev/disk/by-id and
/dev/mapper for partitions are not created anymore:

 https://lists.debian.org/debian-release/2013/10/msg00559.html

# ls -l /dev/dm-1
brw-rw---T 1 root disk 253, 1 Oct 14 08:50 /dev/dm-1
# /sbin/dmsetup -c --noheadings info -j253 -m1
360050768018086336800000000000293:253:1:L--w:0:1:1:mpath-360050768018086336800000000000293
# /sbin/dmsetup -c --noheadings info -j253 -m1 -oUUID
mpath-360050768018086336800000000000293
# /sbin/dmsetup -c --noheadings info -j253 -m1 -oattr
L--w
# /sbin/dmsetup -c --noheadings info -j253 -m1 -oname
360050768018086336800000000000293
# ls -l /dev/disk/by-id/dm-uuid-mpath-360050768018086336800000000000293*
lrwxrwxrwx 1 root root 10 Oct 14 08:50 /dev/disk/by-id/dm-uuid-mpath-360050768018086336800000000000293 -> ../../dm-1
# ls -l /dev/mapper/360050768018086336800000000000293*
lrwxrwxrwx 1 root root 7 Oct 14 08:50 /dev/mapper/360050768018086336800000000000293 -> ../dm-1

Now only running manually, works:

# kpartx -u -p -part /dev/dm-1

gives me

# ls -l /dev/mapper/360050768018086336800000000000293*
lrwxrwxrwx 1 root root 7 Oct 14 08:50 /dev/mapper/360050768018086336800000000000293 -> ../dm-1
lrwxrwxrwx 1 root root 7 Oct 14 09:10 /dev/mapper/360050768018086336800000000000293-part1 -> ../dm-4
# ls -l /dev/disk/by-id/dm-uuid-*mpath-360050768018086336800000000000293*
lrwxrwxrwx 1 root root 10 Oct 14 08:50 /dev/disk/by-id/dm-uuid-mpath-360050768018086336800000000000293 -> ../../dm-1
lrwxrwxrwx 1 root root 10 Oct 14 09:10 /dev/disk/by-id/dm-uuid-part1-mpath-360050768018086336800000000000293 -> ../../dm-4

If I downgrade to 0.4.9+git0.4dfdaf2b-6 this works again, and after
booting both symlinks in /dev/disk/by-id and /dev/mapper are also
present again.

Looking at the difference for the kpartx binary package in
/lib/udev/rules.d/60-kpartx.rules:

----cut---------cut---------cut---------cut---------cut---------cut-----
ld/lib/udev/rules.d/60-kpartx.rules new/lib/udev/rules.d/60-kpartx.rules
--- old/lib/udev/rules.d/60-kpartx.rules        2012-05-28 14:55:58.000000000 +0200
+++ new/lib/udev/rules.d/60-kpartx.rules        2013-07-01 09:01:56.000000000 +0200
@@ -7,10 +7,6 @@
 KERNEL!="dm-*", GOTO="kpartx_end"
 ACTION=="remove", GOTO="kpartx_end"
 
-# This is a temporary hack until Debian's dmsetup properly supports "dmsetup
-# export". For more information see: #434241, #487881, #493078
-IMPORT{program}="dmsetup_env %M %m"
-
 ENV{DM_TABLE_STATE}!="LIVE", GOTO="kpartx_end"
 
 ENV{DM_UUID}=="?*", IMPORT{program}=="kpartx_id %M %m $env{DM_UUID}"
@@ -21,19 +17,13 @@
 ENV{DM_UUID}=="mpath-*", \
        SYMLINK+="disk/by-id/$env{DM_TYPE}-$env{DM_NAME}"
 
-# Create persistent links for dmraid tables
-ENV{DM_UUID}=="dmraid-*", \
-        SYMLINK+="disk/by-id/$env{DM_TYPE}-$env{DM_NAME}"
-
 # Create persistent links for partitions
 ENV{DM_PART}=="?*", \
         SYMLINK+="disk/by-id/$env{DM_TYPE}-$env{DM_NAME}-part$env{DM_PART}"
 
 # Create dm tables for partitions
 ENV{DM_STATE}=="ACTIVE", ENV{DM_UUID}=="mpath-*", \
-        RUN+="/sbin/kpartx -a -p -part /dev/$name"
-ENV{DM_STATE}=="ACTIVE", ENV{DM_UUID}=="dmraid-*", \
-        RUN+="/sbin/kpartx -a -p -part /dev/$name"
+        RUN+="/sbin/kpartx -u -p -part /dev/$name"
 
 LABEL="kpartx_end"
----cut---------cut---------cut---------cut---------cut---------cut-----

In particular the first hunk, where the workaround vi dmsetup_env is
missing so the subsequent rules does not get run.

Regards,
Salvatore



More information about the pkg-lvm-maintainers mailing list