md: remove special meaning of ->quiesce(.., 2)

The '2' argument means "wake up anything that is waiting".
This is an inelegant part of the design and was added
to help support management of suspend_lo/suspend_hi setting.
Now that suspend_lo/hi is managed in mddev_suspend/resume,
that need is gone.
These is still a couple of places where we call 'quiesce'
with an argument of '2', but they can safely be changed to
call ->quiesce(.., 1); ->quiesce(.., 0) which
achieve the same result at the small cost of pausing IO
briefly.

This removes a small "optimization" from suspend_{hi,lo}_store,
but it isn't clear that optimization served a useful purpose.
The code now is a lot clearer.

Suggested-by: Shaohua Li <shli@kernel.org>
Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
This commit is contained in:
NeilBrown
2017-10-19 12:49:15 +11:00
committed by Shaohua Li
parent 35bfc52187
commit b03e0ccb5a
9 changed files with 37 additions and 69 deletions

View File

@@ -3828,18 +3828,14 @@ static void raid10_free(struct mddev *mddev, void *priv)
kfree(conf);
}
static void raid10_quiesce(struct mddev *mddev, int state)
static void raid10_quiesce(struct mddev *mddev, int quiesce)
{
struct r10conf *conf = mddev->private;
switch(state) {
case 1:
if (quiesce)
raise_barrier(conf, 0);
break;
case 0:
else
lower_barrier(conf);
break;
}
}
static int raid10_resize(struct mddev *mddev, sector_t sectors)