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 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel