[dm-devel] multipathd: Add 'sysfs' prioritizer

Hannes Reinecke hare at suse.de
Fri Jun 3 07:05:57 UTC 2016



On 05/31/2016 10:34 PM, Sebastian Herbszt wrote:
> Hannes Reinecke wrote:
>> Recent kernels have an 'access_state' attribute which allows
>> us to read the asymmetric access state directly from sysfs.
>>
>> Signed-off-by: Hannes Reinecke <hare at suse.de>
>> ---
>>  libmultipath/discovery.c           | 33 +++++++++++++++++++++++++++++
>>  libmultipath/discovery.h           |  2 ++
>>  libmultipath/prio.h                |  1 +
>>  libmultipath/prioritizers/Makefile |  3 ++-
>>  libmultipath/prioritizers/sysfs.c  | 43 ++++++++++++++++++++++++++++++++++++++
>>  libmultipath/propsel.c             |  6 +++++-
>>  multipath/multipath.conf.5         | 14 ++++++++++++-
>>  7 files changed, 99 insertions(+), 3 deletions(-)
>>  create mode 100644 libmultipath/prioritizers/sysfs.c
> 
> How about just adding this to the alua prioritizer?
> This new feature could then depend on a "sysfs" argument.
> 
No. The 'sysfs' prioritizer is using the abstract kernel sysfs
interface, for which every device handler provides the information.
So in theory it's independent on the underlying device handler.

However, only the ALUA device handler has been reworked to provide
up-to-date information; for the other device handlers there is a
risk of the sysfs information is getting out-of-date.

Hence I've restricted the 'detect_prioritizer' algorithm to select
'sysfs' only if an ALUA system is present.
But this doesn't imply in any way that the 'sysfs' prioritizer can be
used only for ALUA systems.

Christophe, what about merging the patch?

Cheers,

Hannes




More information about the dm-devel mailing list