dm mpath: avoid storing private suspended state
authorKiyoshi Ueda <k-ueda@ct.jp.nec.com>
Sat, 6 Mar 2010 02:29:59 +0000 (02:29 +0000)
committerAlasdair G Kergon <agk@redhat.com>
Sat, 6 Mar 2010 02:29:59 +0000 (02:29 +0000)
'suspended' flag in struct multipath was introduced to check whether
the multipath target is in suspended state, but the same check is
done through dm_suspended() now, so remove the flag and related code.

Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Cc: Mike Anderson <andmike@linux.vnet.ibm.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
drivers/md/dm-mpath.c

index ecada41..8fa0c95 100644 (file)
@@ -95,8 +95,6 @@ struct multipath {
        mempool_t *mpio_pool;
 
        struct mutex work_mutex;
-
-       unsigned suspended;     /* Don't create new I/O internally when set. */
 };
 
 /*
@@ -1278,7 +1276,6 @@ static void multipath_postsuspend(struct dm_target *ti)
        struct multipath *m = ti->private;
 
        mutex_lock(&m->work_mutex);
-       m->suspended = 1;
        flush_multipath_work();
        mutex_unlock(&m->work_mutex);
 }
@@ -1291,10 +1288,6 @@ static void multipath_resume(struct dm_target *ti)
        struct multipath *m = (struct multipath *) ti->private;
        unsigned long flags;
 
-       mutex_lock(&m->work_mutex);
-       m->suspended = 0;
-       mutex_unlock(&m->work_mutex);
-
        spin_lock_irqsave(&m->lock, flags);
        m->queue_if_no_path = m->saved_queue_if_no_path;
        spin_unlock_irqrestore(&m->lock, flags);
@@ -1430,11 +1423,6 @@ static int multipath_message(struct dm_target *ti, unsigned argc, char **argv)
 
        mutex_lock(&m->work_mutex);
 
-       if (m->suspended) {
-               r = -EBUSY;
-               goto out;
-       }
-
        if (dm_suspended(ti)) {
                r = -EBUSY;
                goto out;