[dm-devel] [PATCH 0/9] Add protocol specific config subsection

Martin Wilck martin.wilck at suse.com
Tue Apr 12 10:31:50 UTC 2022


On Mon, 2022-04-11 at 20:59 -0500, Benjamin Marzinski wrote:
> Some storage arrays can be accessed using multiple protocols at the
> same
> time.  I've have customers request the ability to set different
> values
> for the path specific timeouts, like fast_io_fail_tmo, based on the
> protocol used to access the path. In order to make this possible,
> this
> patchset adds a new protocol subsection to the device subsection and
> the
> overrides section. This allows users to set a device config's path
> specific timeouts, such as dev_loss_tmo, fast_io_fail_tmo, and
> eh_deadline on a per-protocol basis.

Sigh... I am not happy about this amount of additional complexity in
the multipath configuration. It is already so complicated that hardly
anyone really understands how it works.

I fully agree that some properties, in particular fast_io_fail_tmo [1],
are rather properties of protocol or fabrics than a storage array.
But do we really need to differentiate by both "device" and "protocol"?
IOW, do users need different fast_io_fail_tmo value for the same
protocol, but different arrays? My feeling is that making this property
depend on a 2-D matrix of (protocol x storage) is overcomplicating
matters. And _if_ this is necessary, what do we gain by adding an
"overrides" on top? [2]

What about adding simply adding "protocols" as a new top section in the
conf file, and have the per-protocol settings override built-in hwtable
settings for any array, but not explicit storage-device settings in the
conf file?

Regards,
Martin

[1]: wrt dev_loss_tmo, I tend to think that the best value must be
found based on neither protocol nor array, but data center staff.
[2]: I strongly dislike "overrides", in general. I wonder what we need
it for, except for quick experiments where people are too lazy to add
explicit settings for devices and/or multipaths.



More information about the dm-devel mailing list