NVMe path failover update
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest4 patches 7 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/4 | discovery: sanitize NVMe discoverylibmultipath/ | +25 | 2 replies | |
| 2/4 | libmultipath/discovery: modify NVMe path stateslibmultipath/ | +1 | 2 replies | |
| 3/4 | Add 'none' checkerlibmultipath/ libmultipath/ libmultipath/ +3 more | +29 | 1 reply | |
| 4/4 | hwtable: set 'none' as default checker for NVMelibmultipath/ | +1 | 1 reply |
Reviews trailers per patch
2 of 4 patches have a Reviewed-by or Acked-by.
| Patch | Guan Junxiong |
|---|---|
| 1/4 | |
| 2/4 | |
| 3/4 | R-b |
| 4/4 | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH 0/4] NVMe path failover update
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(-)
Signature · 1 line
1.8.5.6