diff mbox

multipath-tools: no_path_retry for time based queuing is queuing I/O for ever

Message ID 0D1E8821739E724A86F4D16902CE275C141A357072@inbmail01.lsi.com (mailing list archive)
State New, archived
Delegated to: christophe varoqui
Headers show

Commit Message

Chauhan, Vijay July 28, 2009, 12:51 p.m. UTC
Even though no_path_retry is set for time based queuing(i.e no_path_retry <N>), I/O is getting queued for ever. During all path failure condition, setup_feature() resets no_path_retry of multipath structure to NO_PATH_RETRY_QUEUE which queues I/O for ever. This patch skips resetting no_path_retry until no_path_retry is set with queue.

Signed-off-by: Vijay Chauhan <vijay.chauhan@lsi.com>

---

--

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

Patch

diff -uprN multipath-tools-orig/libmultipath/dmparser.c multipath-tools/libmultipath/dmparser.c
--- multipath-tools-orig/libmultipath/dmparser.c	2009-07-28 10:06:46.000000000 +0530
+++ multipath-tools/libmultipath/dmparser.c	2009-07-28 10:18:38.000000000 +0530
@@ -145,7 +145,10 @@  disassemble_map (vector pathvec, char * 
 			FREE(word);
 			return 1;
 		}
-		setup_feature(mpp, word);
+		if ((mpp->no_path_retry == NO_PATH_RETRY_UNDEF) ||
+			(mpp->no_path_retry == NO_PATH_RETRY_FAIL) ||
+			(mpp->no_path_retry == NO_PATH_RETRY_QUEUE))
+			setup_feature(mpp, word);
 
 		FREE(word);
 	}