nvme-multipath: also check for a disabled path if there is a single sibling
authorHannes Reinecke <hare@suse.de>
Thu, 4 Jul 2019 06:10:46 +0000 (08:10 +0200)
committerChristoph Hellwig <hch@lst.de>
Tue, 9 Jul 2019 21:17:21 +0000 (14:17 -0700)
When we have a singular list in nvme_round_robin_path() we still
need to check its validity.

Signed-off-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/multipath.c

index 5a6dbb4..9b6dc11 100644 (file)
@@ -183,8 +183,11 @@ static struct nvme_ns *nvme_round_robin_path(struct nvme_ns_head *head,
 {
        struct nvme_ns *ns, *found, *fallback = NULL;
 
-       if (list_is_singular(&head->list))
+       if (list_is_singular(&head->list)) {
+               if (nvme_path_is_disabled(old))
+                       return NULL;
                return old;
+       }
 
        for (ns = nvme_next_ns(head, old);
             ns != old;