← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1621340] Re: [SRU]'multipath -r' causes /dev/mapper/<wwid> being removed

 

This bug was fixed in the package multipath-tools - 0.6.4-3ubuntu1

---------------
multipath-tools (0.6.4-3ubuntu1) zesty; urgency=medium

  * Merge from Debian. (LP: #1621340, LP: #1645274) Remaining changes:
    - d/control:
      - Bump udev dependencies
      - multipath-udeb: add sg3-udeb Depends
    - d/rules: Move udev rules to priority 95, because rules that load modules
      should be >90.
    - d/multipath-tools.preinst: modprobe dm-multipath; This will make sure
      that multipathd will be able to start.
    - Split kpartx initramfs bits into kpartx-boot for dmraid (LP: #941874)
      - d/initramfs/kpartx.hook
      - d/kpartx-boot.postinst
      - d/kpartx-boot.postrm
      - d/control: Add kpartx-boot package for dmraid
      - d/rules: Install kpartx initramfs hook
      - d/kpartx.install: install all arch /lib* kpartx udev rules
    - patches (some refreshed to new version) to multipath source
      - d/p/1000--set-umask-in-multipathd.patch: Set umask in multipathd.
      - d/p/path_selector.patch: switch the default path selector
        back to round-robin while service-time isn't available to the installer
        multipath-modules.
      - d/p/kpartx_more_loopback_fixes.patch: fix loopback mounted
        files some more: since we stat() the loopback device node, we can't rely
        on S_ISREG() tests to handle this case, and should look at the device
        itself instead. (LP: #1543430)
      - d/p/enable-find-multipaths.patch: re-enable find_multipaths
        by default -- see the removed 'add_find-multipaths.patch' (LP: #1463046)
   - multipath initramfs fixes for booting from multipathed devices
      - d/initramfs/hooks: also copy wwids file on the installed system to
        ensure all paths come up on boot. (LP: #1479929)
      - d/initramfs/hooks: install multipathd and required directories.
      - d/initramfs/hooks: copy dm-mpath-lvm & multipath udev rules to initramfs
      - d/initramfs/hooks: do not copy kpartx rules to initramfs
      - d/initramfs/local-bottom: remember to stop multipathd.
      - d/initramfs/local-premount: wait for udev to settle before the call to
        resolve_device() in local_mount_root(), so the by-uuid/ symlinks have a
        chance to be updated by the multipath udev rules (LP: #1503286).
      - d/initramfs/local-premount: Run multipath with -B so not to assign names
        nor change /etc/multipath/bindings during initramfs (LP: #1561103)
      - d/rules: install d/initramfs/local-bottom
      - d/rules: install d/initramfs/local-premount
   - Remove partition device nodes of individual paths (for LVM on multipath)
     (LP: #1540401)
   - Disable -fexceptions on multipath-udeb (LP: #1489379): the flag causes
     libchecktur.so to link with libgcc_s.so.1 (even with -static-libgcc),
     which is not available in the installer environment.
     - d/p/disable-fexceptions-udeb.patch: conditionally disable -fexceptions
       with CFLAGS_DISABLE_FEXCEPTIONS.
     - d/rules: set CFLAGS_DISABLE_FEXCEPTIONS to build multipath-udeb.
   - d/tests/kpartx-file-loopback: add an autopkgtest to catch future cases
     where uploads might break kpartx's loopback file handling.
   - Remove partition device nodes of individual paths (for LVM on multipath)
     on the new multipath-tools with udev property blacklisting (LP: #1540401)
     - d/multipath-tools.dm-mpath-lvm.udev: udev rule for that.
     - d/initramfs/init-top: load the dm-multipath module for
       'multipath -c'.
     - d/initramfs/init-top: start multipathd before udev (required by
       'multipath -u' in the udev rules)
     - d/rules: install the udev rule (priority 56: after 55-scsi-sg3_id)
     - d/rules: rename multipath-tools udev to dm-mpath-lvm
     - d/multipath-tools.dm-mpath-lvm.udev: replace 'multipath -c' with
       'multipath -u' which can read udev properties at PROGRAM-rule time
       (when udev properties are not yet written to the udev database).
   - Remove d/initramfs/local-top (redundant with other initramfs scripts):
     - init-top: take over loading modules (dm-multipath and SCSI device
       handlers); move the missing dm-emc there (now scsi-dh-emc;
       see BTS 567014).
     - d/rules: do not install local-top anymore.
     - remove d/initramfs/local-top
    - Fixes typo in package description (availibility -> availability)
      (LP: #1231182)
  * Add changes:
    - mark kpartx tests as isolation-machine to avoid issues in e.g. LXD
      autopkgtest environments (LP: #1644253)
    - d/t/tgtbasedmpaths add Test using tgt and open-iscsi to excercise
      multipath
    - d/control mark transition of file /etc/init.d/multipath-tools-boot
      according to case #9 of https://wiki.debian.org/PackageTransition
  * Drop changes:
    - d/initramfs/local-top: wait for udev to settle before running
      'multipath' in order to avoid race condition on device-mapper calls.
      (file no more used)
    - d/initramfs/local-top: remove '--timeout 10' which causes my
      test system to not boot roughly 3 out of 4 times.
      (file no more used)
    - d/initramfs/local-top: run multipathd rather than a one-off call to
      multipath so that new paths can be correctly added as detected while we're
      still in the initramfs.
      (file no more used)
    - Call clean target before rebuilding with systemd support (in Debian)
    - drop build-dep to dpkg-dev (>= 1.16.1~), libudev-dev"
      (No more needed)
    - Bump Standards-Version to 3.9.6 (in Debian)
    - add / to LIB= of DEB_CFLAGS_MAINT_APPEND (in Debian)
    - d/p/handle_spaces_in_rev_attr.patch: support IBM IPR devices and others
      which may have only spaces for the rev attribute. (upstream)
    - d/p/0015-shared-lock-for-udev.patch: (LP: #1431650) (upstream)
    - d/p/0053-readonly-bindings_multipathd_prod.patch: support
      -B to allow multipathd to handle cases where the bindings file is
      read-only. (upstream)
    - d/p/git-kpartx-support-spaces-in-dev-names-b407050a.patch: deal with
      spaces in device names in kpartx too (LP: #1432062) (upstream)
    - d/p/0001-multipath-tools-fix-dm-device-filtering.patch: Allow
      filtering of DEV_UEVENT dev_type (LP: #1570093) (upstream)
    - d/multipath-tools.postinst: handle upgrades from < 0.5.0 by migrating
      from the old device names with device numbers to using letters for devices.
      (no relevant upgrade path left)
    - d/p/mpath_name_migration.patch: ship a multipath_migrate binary
      to make translation from pre-0.5.0 device naming to the new scheme.
      (no relevant upgrade path left)
    - d/initramfs/hooks: use 95 not 60 for multipath rules priority (file not
      shipped anymore, so no need to touch)

 -- Christian Ehrhardt <christian.ehrhardt@xxxxxxxxxxxxx>  Fri, 27 Jan
2017 09:09:37 +0100

** Changed in: multipath-tools (Ubuntu)
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1621340

Title:
  [SRU]'multipath -r' causes /dev/mapper/<wwid> being removed

Status in multipath-tools package in Ubuntu:
  Fix Released
Status in multipath-tools source package in Xenial:
  In Progress
Status in multipath-tools source package in Yakkety:
  New

Bug description:
  [Impact]

  "multipath -r" causes the /dev/mapper/<wwid> to disappear momentarily,
  which leads to some issue in consumer applications as such OpenStack.

  [Test Case]

   * connect to an multipath iscsi target
   * multipath -r
   * /dev/mapper/<wwid> disappears momentarily

  [Regression Potential]

   * None

  
  "multipath -r" causes the /dev/mapper/<wwid> to disappear momentarily, which leads to some issue in consumer applications as such OpenStack. After some investigation, I found that /dev/mapper/<wwid> was deleted by udev during the reload, and it was re-created soon later by multipathd (livdevmapper code of cause).  Detailed findings are as follows:

  For reload in domap (rename as well),

          case ACT_RELOAD:
                  r = dm_addmap_reload(mpp, params);
                  if (r)
                          r = dm_simplecmd_noflush(DM_DEVICE_RESUME, mpp->alias,
                                                   0, MPATH_UDEV_RELOAD_FLAG);
                  break;

  it passes 0 to dm_simplecmd_noflush as argument for needsync, which
  makes dm_task_set_cookie call being skipped in dm_simplecmd,

          if (udev_wait_flag && !dm_task_set_cookie(dmt, &cookie, ((conf->daemon)? DM_UDEV_DISABLE_LIBRARY_FALLBACK : 0) | udev_flags)) {
                  dm_udev_complete(cookie);
                  goto out;
          }

  because of the short-circuit evaluation. Thus _do_dm_ioctl in
  libdevmapper will add DM_UDEV_DISABLE_DM_RULES_FLAG flag to
  dmi->event_nr, and that will eventually be used in the udev rules
  (55-dm.rules),

  ENV{DM_UDEV_DISABLE_DM_RULES_FLAG}!="1", ENV{DM_NAME}=="?*",
  SYMLINK+="mapper/$env{DM_NAME}"

  Since the DM_UDEV_DISABLE_DM_RULES_FLAG is set, the rule will not
  match. As a result the link is removed.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/1621340/+subscriptions