[dm-devel] dm-multipath: Accept failed paths for multipath maps

Hannes Reinecke hare at suse.de
Mon Jul 21 06:05:48 UTC 2014


On 07/18/2014 06:15 PM, Mike Snitzer wrote:
> On Fri, Jul 18 2014 at 12:04pm -0400,
> Mike Snitzer <snitzer at redhat.com> wrote:
>
>> On Fri, Jul 18 2014 at  2:00am -0400,
>> Hannes Reinecke <hare at suse.de> wrote:
>>
>>> Will be sending some update once the testing is done.
>>
>> OK.  The stronger case that can be made for the stability of this change
>> (no missing checks for dev->bdev, etc) the better.
>>
>> I did just do some basic testing, of both dm-mpath and dm-thinp, seems
>> fine.  The DM core changes really are simple (just some extra negative
>> checks that won't ever apply for the normal case -- where "normal case"
>> is DM targets that use dm_get_device rather than __dm_get_device, and
>> had to add a dev_t to struct dm_dev).
>
> BTW, I noticed one thing that I didn't think of as logical fallout, but
> it makes sense: if configure multipthd to not use find_multipaths then
> multipathd will successfully push down an mpath table that covers the
> system disk (sda) -- but mpatha isn't able to dm_get_device:
>
> # lsblk /dev/sda /dev/mapper/mpatha
> NAME                            MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
> sda                               8:0    0 930.5G  0 disk
> ├─sda1                            8:1    0   500M  0 part  /boot
> └─sda2                            8:2    0   930G  0 part
>    ├─rhel_rhel--storage--02-swap 253:0    0     4G  0 lvm   [SWAP]
>    └─rhel_rhel--storage--02-root 253:1    0   350G  0 lvm   /
> mpatha                          253:6    0 930.5G  0 mpath
>
> # multipath -ll mpatha
> mpatha (36003005700ec189015d42b92237a76d1) dm-6 LSI     ,RAID 5/6 SAS 6G
> size=930G features='0' hwhandler='0' wp=rw
> `-+- policy='service-time 0' prio=1 status=enabled
>    `- 0:2:0:0 sda  8:0   failed ready running
>
> And multipathd keeps failing to reinstate_path:
> ...
> [ 1906.647322] device-mapper: multipath: message: error getting device 8:0
> [ 1912.652652] device-mapper: multipath: message: error getting device 8:0
> [ 1918.657949] device-mapper: multipath: message: error getting device 8:0
> [ 1924.664118] device-mapper: multipath: message: error getting device 8:0
> [ 1930.669635] device-mapper: multipath: message: error getting device 8:0
>
> Again, this all makes sense... but certainly shows that blacklisting the
> relevant devices is a must.
>
Precisely.
We have been taking the approach that starting multipath will 
attempt to take over _any_ (eligible) device.
So this error would constitute a misconfiguration from our POV.
Either the device needs to be blacklisted or the process accessing 
the device needs to be reconfigured to use multipathing.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare at suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)




More information about the dm-devel mailing list