From: bmarzins@sourceware.org
To: dm-cvs@sourceware.org, dm-devel@redhat.com
Subject: multipath-tools/libmultipath dict.c
Date: 10 Sep 2010 14:25:21 -0000 [thread overview]
Message-ID: <20100910142521.32075.qmail@sourceware.org> (raw)
CVSROOT: /cvs/dm
Module name: multipath-tools
Branch: RHEL5_FC6
Changes by: bmarzins@sourceware.org 2010-09-10 14:25:20
Modified files:
libmultipath : dict.c
Log message:
Fix for bz #585225. The print function for the configuration variables no
longer ignore options set to the default. This allows users to see exactly
how multipath is configured.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/libmultipath/dict.c.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r1=1.17.2.15&r2=1.17.2.16
--- multipath-tools/libmultipath/dict.c 2010/09/08 21:40:30 1.17.2.15
+++ multipath-tools/libmultipath/dict.c 2010/09/10 14:25:20 1.17.2.16
@@ -262,6 +262,10 @@
!strcmp(buff, "priorities"))
conf->rr_weight = RR_WEIGHT_PRIO;
+ if (strlen(buff) == strlen("uniform") &&
+ !strcmp(buff, "uniform"))
+ conf->rr_weight = RR_WEIGHT_NONE;
+
FREE(buff);
return 0;
@@ -850,6 +854,10 @@
!strcmp(buff, "priorities"))
hwe->rr_weight = RR_WEIGHT_PRIO;
+ if (strlen(buff) == strlen("uniform") &&
+ !strcmp(buff, "uniform"))
+ hwe->rr_weight = RR_WEIGHT_NONE;
+
FREE(buff);
return 0;
@@ -1118,6 +1126,10 @@
!strcmp(buff, "priorities"))
mpe->rr_weight = RR_WEIGHT_PRIO;
+ if (strlen(buff) == strlen("uniform") &&
+ !strcmp(buff, "uniform"))
+ mpe->rr_weight = RR_WEIGHT_NONE;
+
FREE(buff);
return 0;
@@ -1311,7 +1323,7 @@
{
struct mpentry * mpe = (struct mpentry *)data;
- return snprintf(buff, len, "%s", mpe->wwid);
+ return snprintf(buff, len, "\"%s\"", mpe->wwid);
}
static int
@@ -1322,12 +1334,7 @@
if (!mpe->alias)
return 0;
- if (conf->user_friendly_names &&
- (strlen(mpe->alias) == strlen("mpath")) &&
- !strcmp(mpe->alias, "mpath"))
- return 0;
-
- return snprintf(buff, len, "%s", mpe->alias);
+ return snprintf(buff, len, "\"%s\"", mpe->alias);
}
static int
@@ -1351,7 +1358,7 @@
if (!mpe->selector)
return 0;
- return snprintf(buff, len, "%s", mpe->selector);
+ return snprintf(buff, len, "\"%s\"", mpe->selector);
}
static int
@@ -1410,19 +1417,10 @@
{
struct mpentry * mpe = (struct mpentry *)data;
- if (!conf->getprio && !mpe->getprio)
- return 0;
- if (!conf->getprio && mpe->getprio)
- return snprintf(buff, len, "%s", mpe->getprio);
- if (conf->getprio && !mpe->getprio)
- return snprintf(buff, len, "none");
-
- /* conf->getprio && mpe->getprio */
- if (strlen(mpe->getprio) == strlen(conf->getprio) &&
- !strcmp(mpe->getprio, conf->getprio))
+ if (!mpe->getprio)
return 0;
- return snprintf(buff, len, "%s", mpe->getprio);
+ return snprintf(buff, len, "\"%s\"", mpe->getprio);
}
static int
@@ -1434,6 +1432,8 @@
return 0;
if (mpe->rr_weight == RR_WEIGHT_PRIO)
return snprintf(buff, len, "priorities");
+ if (mpe->rr_weight == RR_WEIGHT_NONE)
+ return snprintf(buff, len, "uniform");
return 0;
}
@@ -1509,7 +1509,7 @@
if (!hwe->vendor)
return 0;
- return snprintf(buff, len, "%s", hwe->vendor);
+ return snprintf(buff, len, "\"%s\"", hwe->vendor);
}
static int
@@ -1520,7 +1520,7 @@
if (!hwe->product)
return 0;
- return snprintf(buff, len, "%s", hwe->product);
+ return snprintf(buff, len, "\"%s\"", hwe->product);
}
static int
@@ -1541,11 +1541,8 @@
if (!hwe->getuid)
return 0;
- if (strlen(hwe->getuid) == strlen(conf->getuid) &&
- !strcmp(hwe->getuid, conf->getuid))
- return 0;
- return snprintf(buff, len, "%s", hwe->getuid);
+ return snprintf(buff, len, "\"%s\"", hwe->getuid);
}
static int
@@ -1553,19 +1550,10 @@
{
struct hwentry * hwe = (struct hwentry *)data;
- if (!conf->getprio && !hwe->getprio)
- return 0;
- if (!conf->getprio && hwe->getprio)
- return snprintf(buff, len, "%s", hwe->getprio);
- if (conf->getprio && !hwe->getprio)
- return snprintf(buff, len, "none");
-
- /* conf->getprio && hwe->getprio */
- if (strlen(hwe->getprio) == strlen(conf->getprio) &&
- !strcmp(hwe->getprio, conf->getprio))
+ if (!hwe->getprio)
return 0;
- return snprintf(buff, len, "%s", hwe->getprio);
+ return snprintf(buff, len, "\"%s\"", hwe->getprio);
}
static int
@@ -1575,11 +1563,8 @@
if (!hwe->features)
return 0;
- if (strlen(hwe->features) == strlen(conf->features) &&
- !strcmp(hwe->features, conf->features))
- return 0;
- return snprintf(buff, len, "%s", hwe->features);
+ return snprintf(buff, len, "\"%s\"", hwe->features);
}
static int
@@ -1589,11 +1574,8 @@
if (!hwe->hwhandler)
return 0;
- if (strlen(hwe->hwhandler) == strlen(conf->hwhandler) &&
- !strcmp(hwe->hwhandler, conf->hwhandler))
- return 0;
- return snprintf(buff, len, "%s", hwe->hwhandler);
+ return snprintf(buff, len, "\"%s\"", hwe->hwhandler);
}
static int
@@ -1603,11 +1585,8 @@
if (!hwe->selector)
return 0;
- if (strlen(hwe->selector) == strlen(conf->selector) &&
- !strcmp(hwe->selector, conf->selector))
- return 0;
- return snprintf(buff, len, "%s", hwe->selector);
+ return snprintf(buff, len, "\"%s\"", hwe->selector);
}
static int
@@ -1619,8 +1598,6 @@
if (!hwe->pgpolicy)
return 0;
- if (hwe->pgpolicy == conf->pgpolicy)
- return 0;
get_pgpolicy_name(str, POLICY_NAME_SIZE, hwe->pgpolicy);
@@ -1634,8 +1611,6 @@
if (!hwe->pgfailback)
return 0;
- if (hwe->pgfailback == conf->pgfailback)
- return 0;
switch(hwe->pgfailback) {
case FAILBACK_UNDEF:
@@ -1657,10 +1632,10 @@
if (!hwe->rr_weight)
return 0;
- if (hwe->rr_weight == conf->rr_weight)
- return 0;
if (hwe->rr_weight == RR_WEIGHT_PRIO)
return snprintf(buff, len, "priorities");
+ if (hwe->rr_weight == RR_WEIGHT_NONE)
+ return snprintf(buff, len, "uniform");
return 0;
}
@@ -1672,8 +1647,6 @@
if (!hwe->no_path_retry)
return 0;
- if (hwe->no_path_retry == conf->no_path_retry)
- return 0;
switch(hwe->no_path_retry) {
case NO_PATH_RETRY_UNDEF:
@@ -1696,8 +1669,6 @@
if (!hwe->minio)
return 0;
- if (hwe->minio == conf->minio)
- return 0;
return snprintf(buff, len, "%u", hwe->minio);
}
@@ -1723,8 +1694,6 @@
if (!hwe->pg_timeout)
return 0;
- if (hwe->pg_timeout == conf->pg_timeout)
- return 0;
switch (hwe->pg_timeout) {
case PGTIMEOUT_UNDEF:
@@ -1746,8 +1715,6 @@
return 0;
if (!checker_selected(hwe->checker))
return 0;
- if (hwe->checker == conf->checker)
- return 0;
return snprintf(buff, len, "%s", checker_name(hwe->checker));
}
@@ -1755,16 +1722,12 @@
static int
snprint_def_polling_interval (char * buff, int len, void * data)
{
- if (conf->checkint == DEFAULT_CHECKINT)
- return 0;
return snprintf(buff, len, "%i", conf->checkint);
}
static int
snprint_def_verbosity (char * buff, int len, void * data)
{
- if (conf->checkint == DEFAULT_VERBOSITY)
- return 0;
return snprintf(buff, len, "%i", conf->verbosity);
}
@@ -1772,37 +1735,30 @@
snprint_def_udev_dir (char * buff, int len, void * data)
{
if (!conf->udev_dir)
- return 0;
- if (strlen(DEFAULT_UDEVDIR) == strlen(conf->udev_dir) &&
- !strcmp(conf->udev_dir, DEFAULT_UDEVDIR))
- return 0;
+ return snprintf(buff, len, "\"%s\"", DEFAULT_UDEVDIR);
- return snprintf(buff, len, "%s", conf->udev_dir);
+ return snprintf(buff, len, "\"%s\"", conf->udev_dir);
}
static int
snprint_def_selector (char * buff, int len, void * data)
{
if (!conf->selector)
- return 0;
- if (strlen(conf->selector) == strlen(DEFAULT_SELECTOR) &&
- !strcmp(conf->selector, DEFAULT_SELECTOR))
- return 0;
+ return snprintf(buff, len, "\"%s\"", DEFAULT_SELECTOR);
- return snprintf(buff, len, "%s", conf->selector);
+ return snprintf(buff, len, "\"%s\"", conf->selector);
}
static int
snprint_def_path_grouping_policy (char * buff, int len, void * data)
{
+ int policy = conf->pgpolicy;
char str[POLICY_NAME_SIZE];
- if (!conf->pgpolicy)
- return 0;
- if (conf->pgpolicy == DEFAULT_PGPOLICY)
- return 0;
+ if (!policy)
+ policy = DEFAULT_PGPOLICY;
- get_pgpolicy_name(str, POLICY_NAME_SIZE, conf->pgpolicy);
+ get_pgpolicy_name(str, POLICY_NAME_SIZE, policy);
return snprintf(buff, len, "%s", str);
}
@@ -1811,42 +1767,34 @@
snprint_def_getuid_callout (char * buff, int len, void * data)
{
if (!conf->getuid)
- return 0;
- if (strlen(conf->getuid) == strlen(DEFAULT_GETUID) &&
- !strcmp(conf->getuid, DEFAULT_GETUID))
- return 0;
+ return snprintf(buff, len, "\"%s\"", DEFAULT_GETUID);
- return snprintf(buff, len, "%s", conf->getuid);
+ return snprintf(buff, len, "\"%s\"", conf->getuid);
}
static int
snprint_def_getprio_callout (char * buff, int len, void * data)
{
if (!conf->getprio)
- return 0;
+ return snprintf(buff, len, "none");
- return snprintf(buff, len, "%s", conf->getprio);
+ return snprintf(buff, len, "\"%s\"", conf->getprio);
}
static int
snprint_def_features (char * buff, int len, void * data)
{
if (!conf->features)
- return 0;
- if (strlen(conf->features) == strlen(DEFAULT_FEATURES) &&
- !strcmp(conf->features, DEFAULT_FEATURES))
- return 0;
+ return snprintf(buff, len, "\"%s\"", DEFAULT_FEATURES);
- return snprintf(buff, len, "%s", conf->features);
+ return snprintf(buff, len, "\"%s\"", conf->features);
}
static int
snprint_def_path_checker (char * buff, int len, void * data)
{
if (!conf->checker)
- return 0;
- if (conf->checker == checker_default())
- return 0;
+ return snprintf(buff, len, "%s", DEFAULT_CHECKER);
return snprintf(buff, len, "%s", checker_name(conf->checker));
}
@@ -1854,20 +1802,17 @@
static int
snprint_def_failback (char * buff, int len, void * data)
{
- if (!conf->pgfailback)
- return 0;
- if (conf->pgfailback == DEFAULT_FAILBACK)
- return 0;
+ int failback = conf->pgfailback;
- switch(conf->pgfailback) {
- case FAILBACK_UNDEF:
- break;
+ if (failback == FAILBACK_UNDEF)
+ failback = DEFAULT_FAILBACK;
+ switch(failback) {
case -FAILBACK_MANUAL:
return snprintf(buff, len, "manual");
case -FAILBACK_IMMEDIATE:
return snprintf(buff, len, "immediate");
default:
- return snprintf(buff, len, "%i", conf->pgfailback);
+ return snprintf(buff, len, "%i", failback);
}
return 0;
}
@@ -1876,9 +1821,7 @@
snprint_def_rr_min_io (char * buff, int len, void * data)
{
if (!conf->minio)
- return 0;
- if (conf->minio == DEFAULT_MINIO)
- return 0;
+ return snprintf(buff, len, "%u", DEFAULT_MINIO);
return snprintf(buff, len, "%u", conf->minio);
}
@@ -1921,12 +1864,14 @@
static int
snprint_def_rr_weight (char * buff, int len, void * data)
{
- if (!conf->rr_weight)
- return 0;
- if (conf->rr_weight == DEFAULT_RR_WEIGHT)
- return 0;
- if (conf->rr_weight == RR_WEIGHT_PRIO)
+ int weight = conf->rr_weight;
+
+ if (weight == RR_WEIGHT_UNDEF)
+ weight = DEFAULT_RR_WEIGHT;
+ if (weight == RR_WEIGHT_PRIO)
return snprintf(buff, len, "priorities");
+ if (weight == RR_WEIGHT_NONE)
+ return snprintf(buff, len, "uniform");
return 0;
}
@@ -1934,9 +1879,6 @@
static int
snprint_def_no_path_retry (char * buff, int len, void * data)
{
- if (conf->no_path_retry == DEFAULT_NO_PATH_RETRY)
- return 0;
-
switch(conf->no_path_retry) {
case NO_PATH_RETRY_UNDEF:
break;
@@ -1957,6 +1899,7 @@
switch (conf->queue_without_daemon) {
case QUE_NO_DAEMON_OFF:
return snprintf(buff, len, "no");
+ case QUE_NO_DAEMON_UNDEF:
case QUE_NO_DAEMON_ON:
return snprintf(buff, len, "yes");
}
@@ -1967,6 +1910,7 @@
snprint_def_flush_on_last_del (char * buff, int len, void * data)
{
switch (conf->flush_on_last_del) {
+ case FLUSH_UNDEF:
case FLUSH_DISABLED:
return snprintf(buff, len, "no");
case FLUSH_ENABLED:
@@ -1987,12 +1931,12 @@
static int
snprint_def_pg_timeout (char * buff, int len, void * data)
{
- if (conf->pg_timeout == DEFAULT_PGTIMEOUT)
+ int timeout = conf->pg_timeout;
+
+ if (timeout == PGTIMEOUT_UNDEF)
return 0;
switch (conf->pg_timeout) {
- case PGTIMEOUT_UNDEF:
- break;
case -PGTIMEOUT_NONE:
return snprintf(buff, len, "none");
default:
@@ -2004,8 +1948,6 @@
static int
snprint_def_user_friendly_names (char * buff, int len, void * data)
{
- if (conf->user_friendly_names == DEFAULT_USER_FRIENDLY_NAMES)
- return 0;
if (!conf->user_friendly_names)
return snprintf(buff, len, "no");
@@ -2032,12 +1974,9 @@
snprint_def_bindings_file (char * buff, int len, void * data)
{
if (conf->bindings_file == NULL)
- return 0;
- if (strlen(conf->bindings_file) == strlen(DEFAULT_BINDINGS_FILE) &&
- !strcmp(conf->bindings_file, DEFAULT_BINDINGS_FILE))
- return 0;
+ return snprintf(buff, len, "\"%s\"", DEFAULT_BINDINGS_FILE);
- return snprintf(buff, len, "%s", conf->bindings_file);
+ return snprintf(buff, len, "\"%s\"", conf->bindings_file);
}
static int
@@ -2045,7 +1984,7 @@
{
struct blentry * ble = (struct blentry *)data;
- return snprintf(buff, len, "%s", ble->str);
+ return snprintf(buff, len, "\"%s\"", ble->str);
}
static int
@@ -2053,7 +1992,7 @@
{
struct blentry_device * bled = (struct blentry_device *)data;
- return snprintf(buff, len, "%s", bled->vendor);
+ return snprintf(buff, len, "\"%s\"", bled->vendor);
}
static int
@@ -2061,7 +2000,7 @@
{
struct blentry_device * bled = (struct blentry_device *)data;
- return snprintf(buff, len, "%s", bled->product);
+ return snprintf(buff, len, "\"%s\"", bled->product);
}
#define __deprecated
next reply other threads:[~2010-09-10 14:25 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-10 14:25 bmarzins [this message]
-- strict thread matches above, loose matches on Subject: below --
2011-10-10 4:18 multipath-tools/libmultipath dict.c 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=20100910142521.32075.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.