MD and multipath doesn't work together
authorHannes Reinecke <hare@suse.de>
Fri, 13 Feb 2009 10:47:15 +0000 (11:47 +0100)
committerMilan Vancura <mvancura@suse.cz>
Mon, 16 Mar 2009 15:30:26 +0000 (16:30 +0100)
commit8259d855d3943d3a20638da350f79c4cad70dbee
tree1fb50e04a335643de0e372a90d349d560a7022f5
parenta5f598a92e5b4cdc12212bea2a377858a462476a
MD and multipath doesn't work together

After update to SLES10 SP2 from SLES10 SP1 the system root is not found during
boot. The system is running on a softraid device consisting of 2 local disks.
After debugging of the init script from the initrd he found that the following
code is at failure:

            if [ -e $root ]; then
                devn=$(devnumber $root)
                major=$(devmajor $devn)
                if [ -z "$dm_major" ] || [ "$major" == "$dm_major" ] ; then
                    retval=0
                    echo " ok"
                    break;
                else
                    echo -n "!"
                    multipath -v0
                   /sbin/udevsettle --timeout=$udev_timeout
                fi
            fi

The comparison between $major and $dm_major seems to be problematic.
Fixed by checking if the major number is a md major number and
just return if true.

References: 449702

Signed-off-by: Hannes Reinecke <hare@suse.de>
mkinitrd