udev breaks compatibility with multipath

Bug #306723 reported by Bryan McLellan
10
Affects Status Importance Assigned to Milestone
multipath-tools (Ubuntu)
Fix Released
Medium
Soren Hansen
Intrepid
Fix Released
Undecided
Mathias Gug
udev (Debian)
Fix Released
Unknown
udev (Ubuntu)
Won't Fix
Undecided
Unassigned
Intrepid
Invalid
Undecided
Unassigned

Bug Description

options for /lib/udev/scsi_id have changed without backwards compatibility.

# multipath
/lib/udev/scsi_id: invalid option -- 's'
error calling out /lib/udev/scsi_id -g -u -s /block/sda
/lib/udev/scsi_id: invalid option -- 's'
error calling out /lib/udev/scsi_id -g -u -s /block/sdb
/lib/udev/scsi_id: invalid option -- 's'
error calling out /lib/udev/scsi_id -g -u -s /block/sdc
/lib/udev/scsi_id: invalid option -- 's'
error calling out /lib/udev/scsi_id -g -u -s /block/sdd
/lib/udev/scsi_id: invalid option -- 's'
error calling out /lib/udev/scsi_id -g -u -s /block/sde

multipath-tools=0.4.8-10ubuntu1
udev=124-9

# uname -a
Linux file01 2.6.27-10-generic #1 SMP Fri Nov 21 12:00:22 UTC 2008 i686 GNU/Linux
# lsb_release -a
LSB Version: core-2.0-ia32:core-2.0-noarch:core-3.0-ia32:core-3.0-noarch:core-3.1-ia32:core-3.1-noarch:core-3.2-ia32:core-3.2-noarch
Distributor ID: Ubuntu
Description: Ubuntu 8.10
Release: 8.10
Codename: intrepid

==========
Intrepid SRU

Impact of the bug:

multipath uses /lib/udev/scsi_id to obtain a unique path identifier. However the options of scsi_id have changed. Thus multipath doesn't work as expected.

How the bug has been addressed:

The options used to call scsi_id have been updated.

TEST CASE:

Potential regression:
This patch fixes the default call which wasn't working before. Users that implemented the workaround in their configuration file shouldn't see any changes.

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

Binaries in /lib/udev do not have a stable API intended for other processes.

Changed in udev:
status: New → Won't Fix
Revision history for this message
Bryan McLellan (btm) wrote :

I think it needs to be fixed somewhere to get multipath working. Debian patched it in udev. It seemed it would be easiest to pull from the upstream debian packaging but I didn't compare the existing patches in the packaging. I assume since there's no ubuntu version in the version number there aren't ubuntu specific patches.

Multipath upstream appears to have patched in their repository for the new arguments [1] but perusing the last few months of the the dm-setup mailing list archive doesn't indicate an expected release any time soon.

[1] http://git.kernel.org/gitweb.cgi?p=linux/storage/multipath-tools/.git;a=blob_plain;f=libmultipath/defaults.h;hb=HEAD

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote : Re: [Bug 306723] Re: udev breaks compatibility with multipath

On Wed, 2008-12-10 at 07:10 +0000, Bryan McLellan wrote:

> I think it needs to be fixed somewhere to get multipath working. Debian
> patched it in udev. It seemed it would be easiest to pull from the
> upstream debian packaging but I didn't compare the existing patches in
> the packaging. I assume since there's no ubuntu version in the version
> number there aren't ubuntu specific patches.
>
We don't derive our packaging from Debian; our udev packages are based
on upstream. If the patch is accepted there, that's ok - but otherwise
you need to update multipath-tools (which should probably use libudev
instead of scsi_id directly)

Scott
--
Scott James Remnant
<email address hidden>

Revision history for this message
Bryan McLellan (btm) wrote :

I can't get a hold of anyone on #ubuntu-devel who'll take responsibility for multipath-tools and the ubuntu-devel list is all moderated to an elite club of developers or something, so I've patched multipath-tools myself to work.

With multipath-tools=0.4.8-10ubuntu3~ppa1 from [1], multipath is now working as I expect it to:

# multipath -ll
sdb: checker msg is "directio checker reports path is down"
sdd: checker msg is "directio checker reports path is down"
36001e4f0003968c6000012da48aac3d1dm-0 ,
[size=278G][features=0][hwhandler=0]
\_ round-robin 0 [prio=0][enabled]
 \_ #:#:#:# sdb 8:16 [active][faulty]
\_ round-robin 0 [prio=1][active]
 \_ #:#:#:# sdc 8:32 [active][ready]
\_ round-robin 0 [prio=0][enabled]
 \_ #:#:#:# sdd 8:48 [active][faulty]
\_ round-robin 0 [prio=1][enabled]
 \_ #:#:#:# sde 8:64 [active][ready]

There was also the issue of s/block/dev/. I'll leave that to the package maintainers to make a long term decision on.

[1] https://launchpad.net/~btm/+archive/

Revision history for this message
Bryan McLellan (btm) wrote :

Attaching quilt patch from my PPA build that fixes.

Soren Hansen (soren)
Changed in multipath-tools:
assignee: nobody → soren
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package multipath-tools - 0.4.8-10ubuntu3

---------------
multipath-tools (0.4.8-10ubuntu3) jaunty; urgency=low

  * fix_udev_scsi_id_arguments.diff:
    Update the arguments for scsi_id. (LP: #306723)
  * fix_sysfs_layout.diff:
    Patch from upstream to use the new sysfs layout. (LP: #307032)

 -- Timo Aaltonen <email address hidden> Thu, 18 Dec 2008 15:32:20 +0200

Changed in multipath-tools:
status: Confirmed → Fix Released
Revision history for this message
Etienne Goyer (etienne-goyer-outlands) wrote :

For people using Intrepid, you can work around that bug by setting getuid_callout somewhere in /etc/multipath.conf. In my case, the following worked with an EMC SAN:

defaults {
        default_getuid_callout "/lib/udev/scsi_id -g -u -ppre-spc3-83 -d /dev/%n"
}

Ideally, getuid_callout would be defined in a device stanza instead of defaults, but the above would work in a pinch if your machine is connected to a single SAN.

Is there any plan to do a SRU for Intrepid? I think it would worth it, as otherwise multipath-tools is DOA. I can help with testing.

Mathias Gug (mathiaz)
description: updated
Revision history for this message
Mathias Gug (mathiaz) wrote :

Proposed debdiff for intrepid SRU.

Changed in udev:
status: New → Invalid
Changed in multipath-tools:
assignee: nobody → mathiaz
status: New → In Progress
Revision history for this message
Martin Pitt (pitti) wrote :

Accepted multipath-tools into intrepid-proposed, please test and give feedback here. Please see https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in multipath-tools:
status: In Progress → Fix Committed
Revision history for this message
Bryan McLellan (btm) wrote :

Tested multipath-tools=0.4.8-10ubuntu1.1 on intrepid from proposed and seems to work just fine, but I can't test heavily due to Bug #289470

Martin Pitt (pitti)
tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package multipath-tools - 0.4.8-10ubuntu1.1

---------------
multipath-tools (0.4.8-10ubuntu1.1) intrepid-proposed; urgency=low

  * fix_udev_scsi_id_arguments.diff:
    Update the arguments for scsi_id. (LP: #306723)
  * fix_sysfs_layout.diff:
    Patch from upstream to use the new sysfs layout. (LP: #307032)

 -- Mathias Gug <email address hidden> Thu, 22 Jan 2009 11:35:09 -0500

Changed in multipath-tools (Ubuntu Intrepid):
status: Fix Committed → Fix Released
Changed in udev (Debian):
status: Unknown → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.