Package: multipath-tools
Version: 0.5.0+git1.656f8865-9
Severity: normal

Dear Maintainer,

When executing 'multipath -r' the existing symlinks to dm-X devices which are present in /dev/mapper are overwritten and replaced with block devices as demonstrated below:

mike@dl380gen9-01:~$ sudo ls -l /dev/mapper
total 0
crw------- 1 root root 10, 236 Apr 14 14:31 control
lrwxrwxrwx 1 root root 7 Apr 14 14:31 mpatha -> ../dm-0
lrwxrwxrwx 1 root root 7 Apr 14 14:31 mpathb -> ../dm-1
mike@dl380gen9-01:~$ sudo multipath -r
reload: mpatha (360002ac0000000000000001d000028be) undef 3PARdata,VV
size=10G features='1 queue_if_no_path' hwhandler='1 alua' wp=undef
`-+- policy='queue-length 0' prio=50 status=undef
|- 1:0:0:1 sdb 8:16 active ready running
`- 1:0:1:1 sdd 8:48 active ready running
reload: mpathb (360002ac0000000000000001e000028be) undef 3PARdata,VV
size=20G features='1 queue_if_no_path' hwhandler='1 alua' wp=undef
`-+- policy='queue-length 0' prio=50 status=undef
|- 1:0:0:2 sdc 8:32 active ready running
`- 1:0:1:2 sde 8:64 active ready running
mike@dl380gen9-01:~$ sudo ls -l /dev/mapper
total 0
crw------- 1 root root 10, 236 Apr 14 14:31 control
brw-rw---- 1 root disk 254, 0 Apr 14 14:40 mpatha
brw-rw---- 1 root disk 254, 1 Apr 14 14:40 mpathb

Additionally is has been observed that if the map is flushed with multipath -f and then the backend storage removed a subsequent execution of multipath -r results in the block device entry being recreated and the map being loaded with failed paths

This problem appears to have been introduced with 0.5.0+git0.770e6d0d-1. Testing with 0.5.0-7 from snapshots results in the expected behavior of the devmap reload resulting in symlink entries to dm-X devices not being changed to block device types, and new entries being created as symlinks to dm-X devices and not as block devices

When tracing the multipath process I have been able to observe the creation of the block device entries as the device files are missing

--
stat("/dev/mapper/mpatha", 0x7ffeae26abc0) = -1 ENOENT (No such file or directory)
umask(0)                                = 022
mknod("/dev/mapper/mpatha", S_IFBLK|0660, makedev(254, 0)) = 0
umask(022)                              = 0
chown("/dev/mapper/mpatha", 0, 6)       = 0
stat("/dev/mapper/mpathb", 0x7ffeae26abc0) = -1 ENOENT (No such file or directory)
umask(0)                                = 022
mknod("/dev/mapper/mpathb", S_IFBLK|0660, makedev(254, 4)) = 0
umask(022)                              = 0
chown("/dev/mapper/mpathb", 0, 6)       = 0
--

It has also been observed that if the maps are flushed and multipath is re-run the resulting symlinks to dm-X devices are created in /dev/mapper. Its only when mulitpath -r is executed that this behavior is observed.

Please let me know if any additional details are needed or if there is additional testing that can be done. We will continue working as well to try and identify the specific commit which introduced this change in behavior.

-- Package-specific info:
Contents of /etc/multipath.conf:
defaults {
        polling_interval        10
        max_fds                 8192
        user_friendly_names     yes
}
blacklist {
       wwid 3600508b1001c4327dc097cb0a82395d5
       devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
       devnode "^hd[a-z][[0-9]*]"
       device {
               vendor HP
               product 'LOGICAL_VOLUME'
       }
}
devices {
        device {
                vendor                  "3PARdata"
                product                 "VV"
                path_grouping_policy    group_by_prio
                path_selector           "queue-length 0"
                path_checker            tur
                checker                 tur
                features                "0"
                hardware_handler        "1 alua"
                prio                    alua
                failback                immediate
                no_path_retry           18
                rr_min_io               1
        }
}


-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.4.0-1-amd64 (SMP w/40 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages multipath-tools depends on:
ii  init-system-helpers  1.29
ii  kpartx               0.5.0+git1.656f8865-9
ii  libaio1              0.3.110-2
ii  libc6                2.22-5
ii  libdevmapper1.02.1   2:1.02.120-1
ii  libgcc1              1:5.3.1-13
ii  libreadline6         6.3-8+b4
ii  libsystemd0          229-4
ii  libudev1             229-4
ii  lsb-base             9.20160110
ii  sg3-utils-udev       1.42-2
ii  udev                 229-4

multipath-tools recommends no packages.

Versions of packages multipath-tools suggests:
ii  multipath-tools-boot  0.5.0+git1.656f8865-9

-- no debconf informatio

Reply via email to