[dm-devel] [PATCH 0/4] NVMe path failover update
Hannes Reinecke
hare at suse.de
Fri Sep 15 06:30:26 UTC 2017
Hi all,
the current NVMe support is fairly rudimentary, and we've had reports
about spurious path failures under high load.
Which is a bit disappointing, seeing that high load is exactly what
NVMe is about ...
So here's a patchset to clean up the situation somewhat.
In particular:
- I've fixed up the discovery to fall in line with the other transports,
like filling out the sg_id fields (so that we're not greeted with weird
hashes in the topology output)
- I've added a 'none' checker, which doesn't do anything but rather returns
the passed-in path state. Thing is, NVMe keeps the 'state' attribute in
sync with the actual operation, so we can rely on that to reflect the
current state of the connection. As we're evaluating this state via the
path_offline() call prior to calling any checker there's no need for a
checker whatsoever, and we can use the 'state' attribute as-is.
Which is what the 'none' checker does.
Incidentally, we _might_ get away with using the 'none' checker for
FC, too; but this is to be tested.
As usual, comments and reviews are welcome.
Hannes Reinecke (4):
discovery: sanitize NVMe discovery
libmultipath/discovery: modify NVMe path states
Add 'none' checker
hwtable: set 'none' as default checker for NVMe
libmultipath/checkers.c | 22 +++++++++++++------
libmultipath/checkers.h | 3 ++-
libmultipath/discovery.c | 54 +++++++++++++++++++++++++++-------------------
libmultipath/discovery.h | 2 +-
libmultipath/hwtable.c | 2 +-
multipath/multipath.conf.5 | 3 +++
multipathd/main.c | 2 +-
7 files changed, 56 insertions(+), 32 deletions(-)
--
1.8.5.6
More information about the dm-devel
mailing list