]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
dm mpath: cleanup reinstate_path() et al based on code review
authorMike Snitzer <snitzer@redhat.com>
Sat, 20 Feb 2016 17:49:43 +0000 (12:49 -0500)
committerMike Snitzer <snitzer@redhat.com>
Thu, 10 Mar 2016 22:12:04 +0000 (17:12 -0500)
fail_path() will print a "Failing path ..." message but reinstate_path()
doesn't print a "Reinstating path ...".  Add that message to
reinstate_path() to add symmetry and aid system debugging.

Remove reinstate_path()'s check for the path_selector providing
.reinstate_path hook.  All path selectors provide this and any future
ones must too.

activate_path() calls pg_init_done() with SCSI_DH_DEV_OFFLINED but
pg_init_done() doesn't expicitly handle it in its swicth statement.  Add
SCSI_DH_DEV_OFFLINED to the default case.

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-mpath.c

index 0cc2e6c1fd7547209b1b3f869172013fd99e48a7..677ba223e2aef0217b0a9fb36735753d86a6df22 100644 (file)
@@ -1017,12 +1017,7 @@ static int reinstate_path(struct pgpath *pgpath)
        if (pgpath->is_active)
                goto out;
 
-       if (!pgpath->pg->ps.type->reinstate_path) {
-               DMWARN("Reinstate path not supported by path selector %s",
-                      pgpath->pg->ps.type->name);
-               r = -EINVAL;
-               goto out;
-       }
+       DMWARN("Reinstating path %s.", pgpath->path.dev->name);
 
        r = pgpath->pg->ps.type->reinstate_path(&pgpath->pg->ps, &pgpath->path);
        if (r)
@@ -1207,6 +1202,7 @@ static void pg_init_done(void *data, int errors)
                        fail_path(pgpath);
                errors = 0;
                break;
+       case SCSI_DH_DEV_OFFLINED:
        default:
                /*
                 * We probably do not want to fail the path for a device