Re: Resizing multipath maps: reload ioctl failed: Invalid argument

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




  Hello,

* Jun'ichi Nomura

It's due to kernel device-mapper restriction.

multipath-tools uses no_flush suspend of device-mapper device to save
I/O errors in all-paths-down case. (Without the option, device-mapper
needs to flush all pending I/Os, that will result in I/O errors if
there is no working path.)

For no_flush suspend, resizing is disabled because of known
dead-lock: it requires a lock that can be kept hold until the pending
I/Os are flushed.

  Hmm.  So this deadlock is a kernel bug that (hopefully) will be fixed
 in the future, so resizing can again be enabled, or is this a design
 limitation that it's impossible to do something about?

  Can the no_flush thing be toggled online;  that is, would it be
 possible to alter multipath-tools so that when it attempted to resize a
 map, it would disable no_flush, resize it, and then re-enable it?  I
 think a two-second window of vulnerability to all-paths-down is
 acceptable...

  Similarily, if this no_flush option is relevant only when
 features=queue_if_no_paths (at least that's the impression I get from
 your description of it), would it work to temporarily reload the map
 without this feature, resize the volume, than re-add queue_if_no_path?

A workaround for it would be using modified multipath-tools which
doesn't use no_noflush.

  I grepped for noflush and no_flush (and so on) in the multipath-tools
 source code but can't really find where it is set..?

Thanks
--
Tore Anderson

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel

[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux