Fix failback parameter parsing in conf
authorStewart, Sean <Sean.Stewart@netapp.com>
Tue, 23 Apr 2013 21:21:18 +0000 (21:21 +0000)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Mon, 29 Apr 2013 20:42:38 +0000 (22:42 +0200)
This patch fixes a problem introduced in this commit: http://git.opensvc.com/gitweb.cgi?p=multipath-tools/.git;a=commitdiff;h=cef43b6f910f740c0e2d38761f58c5ebedfb7585;hp=41b85341ca514a50d18c592996a2ecb43a81fa90
Currently, the string handler for failback on hw entries expects strings like "manual" to be quoted.  The buffer always strips quotes.
As a result, the keywords manual, immediate, and followover cannot be used to change a failback parameter through multipath.conf

Signed-off-by: Sean Stewart <Sean.Stewart@netapp.com>
libmultipath/dict.c

index a54dda9..ed3dae3 100644 (file)
@@ -1108,11 +1108,11 @@ hw_failback_handler(vector strvec)
 
        buff = set_value(strvec);
 
-       if (strlen(buff) == 6 && !strcmp(buff, "\"manual\""))
+       if (strlen(buff) == 6 && !strcmp(buff, "manual"))
                hwe->pgfailback = -FAILBACK_MANUAL;
-       else if (strlen(buff) == 9 && !strcmp(buff, "\"immediate\""))
+       else if (strlen(buff) == 9 && !strcmp(buff, "immediate"))
                hwe->pgfailback = -FAILBACK_IMMEDIATE;
-       else if (strlen(buff) == 10 && !strcmp(buff, "\"followover\""))
+       else if (strlen(buff) == 10 && !strcmp(buff, "followover"))
                hwe->pgfailback = -FAILBACK_FOLLOWOVER;
        else
                hwe->pgfailback = atoi(buff);