A checker shouldn't set the path state to PATH_DOWN if it fails
to obtain information about the path in the first place. Add logic
to the checker to distinguish a failed path from an unsupported path.

Signed-off-by: Martin Wilck <mwi...@suse.com>
---
 libmultipath/checkers/tur.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libmultipath/checkers/tur.c b/libmultipath/checkers/tur.c
index 448c396e..8f4bdc8b 100644
--- a/libmultipath/checkers/tur.c
+++ b/libmultipath/checkers/tur.c
@@ -125,6 +125,10 @@ retry:
        io_hdr.timeout = timeout * 1000;
        io_hdr.pack_id = 0;
        if (ioctl(fd, SG_IO, &io_hdr) < 0) {
+               if (errno == ENOTTY) {
+                       *msgid = CHECKER_MSGID_UNSUPPORTED;
+                       return PATH_WILD;
+               }
                *msgid = CHECKER_MSGID_DOWN;
                return PATH_DOWN;
        }
-- 
2.19.0

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to