Comment 1 for bug 1547206

Revision history for this message
Tore Anderson (toreanderson) wrote :

After reviewing the changes between -3ubuntu7.4 and -3ubuntu7.5, I have found that the problem is caused by the removal of the file /lib/udev/rules.d/95-multipath.rules. In -3ubuntu7.4, it contained the following:

#
# udev rules for multipathing.
# The persistent symlinks are created with the kpartx rules
#

# socket for uevents
RUN+="socket:/org/kernel/dm/multipath_event"

# Coalesce multipath devices before multipathd is running (initramfs, early
# boot)
ACTION=="add|change", SUBSYSTEM=="block", RUN+="/sbin/multipath -v0 /dev/$name"

If this file is manually reinstated (either to /lib/udev/rules.d or /etc/udev/rules.d), boot is again successful (even with the latest -3ubuntu7.9 multipath-tools package).

I see from the changelog that the removal was intentional:

  * debian/rules: don't ship 95-multipath.rules udev rules anymore; they are
    not necessary with multipath-tools listening for udev events directly.
  * debian/multipath.udev: removed.

However, in order for this to actually work with multipath-backed "auto" filesystems in /etc/fstab, it seems necessary to ensure that multipathd is started before mountall runs. I am not entirely certain how to accomplish this, though, as mountall is started from Upstart while multipath-tools is stuck using a legacy SysV-init, and I do not know if it is possible to enforce service ordering between the two init systems. For what it's worth, renaming /etc/rcS.d/S21-multipath-tools-boot as etc/rcS.d/S00-multipath-tools-boot does not work around the issue.