[dm-devel] [PATCH]multipath-tools: no_path_retry for time based queuing is queuing I/O for ever

Chauhan, Vijay Vijay.Chauhan at lsi.com
Tue Jul 28 12:51:13 UTC 2009


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 at lsi.com>

---
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);
 	}

--




More information about the dm-devel mailing list