[multipath] don't reload map if features differs and no_path_retry is set
authorChristophe Varoqui <root@xa-s05.(none)>
Tue, 25 Oct 2005 14:39:37 +0000 (16:39 +0200)
committerChristophe Varoqui <root@xa-s05.(none)>
Tue, 25 Oct 2005 14:39:37 +0000 (16:39 +0200)
Indeed, setting no_path_retry delegate the "features" handling to the
daemon. multipath(8) loses the privilege to play with this field after
the map is initially loaded.

multipath/main.c

index e2c8a04..0d55f2a 100644 (file)
@@ -522,8 +522,8 @@ select_action (struct multipath * mpp, vector curmp)
                condlog(3, "set ACT_RELOAD: size change");
                return;
        }
-       if (strncmp(cmpp->features, mpp->features,
-                   strlen(mpp->features))) {
+       if (!mpp->no_path_retry && /* let features be handled by the daemon */
+           strncmp(cmpp->features, mpp->features, strlen(mpp->features))) {
                mpp->action =  ACT_RELOAD;
                condlog(3, "set ACT_RELOAD: features change");
                return;