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

Hua Zhang joshua.zhang at canonical.com
Thu Nov 24 10:52:26 UTC 2016


Hi paelzer,

I have updated debdiff based on the following base packages.

zesty.debdiff is based on zesty=0.5.0+git1.656f8865-5ubuntu8, not 6.1
yakkety.debdiff is based on yakkety-proposed=0.5.0+git1.656f8865-5ubuntu7.1
xenial.debdiff is based on xenial-updates=0.5.0+git1.656f8865-5ubuntu2.3

and the upstream patch [1] is generated by 'git format-patch' command so
it's compatible with dep3 now. thank you very much.

[1] http://git.opensvc.com/gitweb.cgi?p=multipath-
tools/.git;a=commit;h=f99464031273ea325ab8ae56fb12b6f42f81b2b7

** Tags added: sts-sru

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1621340

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

Status in multipath-tools package in Ubuntu:
  In Progress
Status in multipath-tools source package in Xenial:
  In Progress

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



More information about the Ubuntu-sponsors mailing list