[dm-devel] [PATCH] multipath-tools: remove hwhandler when it's alua

Xose Vazquez Perez xose.vazquez at gmail.com
Sat Oct 22 17:58:29 UTC 2016


On 10/12/2016 06:20 PM, Benjamin Marzinski wrote:

> On Wed, Oct 12, 2016 at 01:06:10PM +0200, Xose Vazquez Perez wrote:

>> RDAC devices also depend *exclusively* on "retain_attached_hw_handler"
>> and "detect_prio" to run in ALUA mode.

> The purpose of the the "retain_attached_hw_handler" and "detect_prio"
> options were to allow devices that support ALUA and non-ALUA modes, to
> detect which mode the device was in, so that the builtin configuration
> would work correctly for both modes.

Then that is validating my point, hwhandler="1 alua" is superfluous.
Because it's autodetected and autoconfigured from the array, first from
the kernel and later from multipath-tools.

> If a device is ALUA only, I don't see any benefit to not hardcoding
> that.  Simply from a ease-of-use persepective, having ALUA in the
> configuration make it obvious how the device is supposed to be
> configured.

It's redundant having RETAIN_HWHANDLER_ON and hwhandler="1 alua" defined.

>  But more importantly, as has already been metioned, it's
> more robust to hardcode the ALUA handler for the devices that need it in
> case the handler was not attached before multipath started working on
> the device.

Why you do not trust the SCSI subsystem? It seems a bit paranoid.
Anyway, if you are really uncomfortable with the change, this patch
should be dropped.

> Also, if I recall correctly, for the device handler to get
> attached correctly, we don't just need the device handler module
> isntalled before multipathd starts. We need it installed when the path
> device is initially discovered.

This is a kernel modules dependency bug. Distributions can bypass it
by including these modules in the initrd image.

> The more I think about this, the more I think we might want to revisit
> some to the configuration simplifications that have been made.

Could you please review all commits?
git log -p --reverse --since="Mon Jun 13 16:38:50 2016" libmultipath/hwtable.c
What should be removed?

> In some cases, I think they went too far. For instance, most devices will work
> correctly regardless of the values for things like "rr_minio_rq" and
> "path_selector", so I have no objection to these values being removed
> from the device configuartion, if they are the same as the default
> values.  On the other hand, we have things like "hardware_handler" and
> "path_checker", where the device simply will not function correctly with
> certain values.  For these attributes, it makes sense to leave them in
> the device configuration, even if they are the same as the default
> values.

Related to path_checker, only two changes were done:
6019c4e0 replace TUR by RDAC in two RDAC devices
40fd537c replace DIRECTIO by TUR(default)

Related to hardware_handler, no relevant changes were done.

> The goal should be that you can't break any device
> configurations by changing the default values.

It is going to be too verbose, you should send a patch to prove your thoughts.

Thank you.




More information about the dm-devel mailing list