All of lore.kernel.org
 help / color / mirror / Atom feed
From: bmarzins@sourceware.org
To: dm-cvs@sourceware.org, dm-devel@redhat.com
Subject: multipath-tools ./multipath.conf.annotated lib ...
Date: 8 Apr 2010 19:31:50 -0000	[thread overview]
Message-ID: <20100408193150.3525.qmail@sourceware.org> (raw)

CVSROOT:	/cvs/dm
Module name:	multipath-tools
Branch: 	RHEL5_FC6
Changes by:	bmarzins@sourceware.org	2010-04-08 19:31:50

Modified files:
	.              : multipath.conf.annotated 
	libmultipath   : config.h configure.c 
	multipath      : main.c 

Log message:
	Fix for bz #579789. Add a -q option to multipath to disable queueing,
	regardless of the configuration setting.  On boot, if a multipath device with
	no useable paths and queue_if_no_path is created, it can cause a hang if IO
	happens to it before multipathd is started.  Using the -q option during boot
	will cause multipath to fail the IO if no paths are up, until multipathd is
	started.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/multipath.conf.annotated.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r1=1.18.2.15&r2=1.18.2.16
http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/libmultipath/config.h.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r1=1.18.2.9&r2=1.18.2.10
http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/libmultipath/configure.c.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r1=1.2.2.6&r2=1.2.2.7
http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/multipath/main.c.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r1=1.44.2.7&r2=1.44.2.8

--- multipath-tools/multipath.conf.annotated	2010/01/27 22:33:28	1.18.2.15
+++ multipath-tools/multipath.conf.annotated	2010/04/08 19:31:49	1.18.2.16
@@ -84,7 +84,8 @@
 #	# name    : path_checker
 #	# scope   : multipath & multipathd
 #	# desc    : the default method used to determine the paths' state
-#	# values  : directio|tur|hp_sw|rdac|emc_clariion|readsector0|cciss_tur
+#	# values  : directio|tur|hp_sw|rdac|emc_clariion|readsector0|cciss_tur|
+#	#           hp_tur
 #	# default : readsector0
 #	#
 #	#path_checker	readsector0
@@ -484,7 +485,7 @@
 #		# scope   : multipathd
 #		# desc    : path checking alorithm to use to check path state
 #		# values  : directio|tur|hp_sw|rdac|emc_clariion|readsector0|
-#		#           cciss_tur
+#		#           cciss_tur|hp_tur
 #		# default : readsector0
 #		#
 #		path_checker		readsector0
--- multipath-tools/libmultipath/config.h	2010/01/27 16:46:48	1.18.2.9
+++ multipath-tools/libmultipath/config.h	2010/04/08 19:31:49	1.18.2.10
@@ -78,6 +78,7 @@
 	int flush_on_last_del;
 	int queue_without_daemon;
 	int checker_timeout;
+	int override_queueing;
 	uid_t uid;
 	gid_t gid;
 	mode_t mode;
--- multipath-tools/libmultipath/configure.c	2009/12/04 21:19:51	1.2.2.6
+++ multipath-tools/libmultipath/configure.c	2010/04/08 19:31:49	1.2.2.7
@@ -537,7 +537,9 @@
 		if (r == DOMAP_DRY)
 			continue;
 
-		if (mpp->no_path_retry != NO_PATH_RETRY_UNDEF) {
+		if (conf->override_queueing)
+			dm_queue_if_no_path(mpp->alias, 0);
+		else if (mpp->no_path_retry != NO_PATH_RETRY_UNDEF) {
 			if (mpp->no_path_retry == NO_PATH_RETRY_FAIL)
 				dm_queue_if_no_path(mpp->alias, 0);
 			else
--- multipath-tools/multipath/main.c	2009/05/04 18:12:07	1.44.2.7
+++ multipath-tools/multipath/main.c	2010/04/08 19:31:49	1.44.2.8
@@ -1,7 +1,7 @@
 /*
  * Soft:        multipath device mapper target autoconfig
  *
- * Version:     $Id: main.c,v 1.44.2.7 2009/05/04 18:12:07 bmarzins Exp $
+ * Version:     $Id: main.c,v 1.44.2.8 2010/04/08 19:31:49 bmarzins Exp $
  *
  * Author:      Christophe Varoqui
  *
@@ -84,6 +84,7 @@
 		"\t   2\t\t\tdefault verbosity\n" \
 		"\t   3\t\t\tprint debug information\n" \
 		"\t-h\t\tprint this usage text\n" \
+		"\t-q\t\tforce all maps to turn off queue_if_no_path\n"\
 		"\t-b file\t\tbindings file location\n" \
 		"\t-d\t\tdry run, do not create or update devmaps\n" \
 		"\t-l\t\tshow multipath topology (sysfs and DM info)\n" \
@@ -324,7 +325,7 @@
 	if (load_config(DEFAULT_CONFIGFILE))
 		exit(1);
 
-	while ((arg = getopt(argc, argv, ":dhl::FfM:v:p:b:r")) != EOF ) {
+	while ((arg = getopt(argc, argv, ":dhl::FfM:v:p:b:rq")) != EOF ) {
 		switch(arg) {
 		case 1: printf("optarg : %s\n",optarg);
 			break;
@@ -335,6 +336,9 @@
 
 			conf->verbosity = atoi(optarg);
 			break;
+		case 'q':
+			conf->override_queueing = 1;
+			break;
 		case 'b':
 			if (conf->bindings_file)
 				FREE(conf->bindings_file);	

             reply	other threads:[~2010-04-08 19:31 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-08 19:31 bmarzins [this message]
  -- strict thread matches above, loose matches on Subject: below --
2011-02-18 18:27 multipath-tools ./multipath.conf.annotated lib bmarzins
2010-01-27 22:33 bmarzins
2009-04-29  4:41 bmarzins
2009-01-16 22:47 bmarzins
2009-01-16 21:30 bmarzins
2008-08-29 21:30 bmarzins

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100408193150.3525.qmail@sourceware.org \
    --to=bmarzins@sourceware.org \
    --cc=dm-cvs@sourceware.org \
    --cc=dm-devel@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.