mirror of https://gitee.com/openkylin/linux.git
[PATCH] md: raid1_quiesce is back to front, fix it.
A state of 0 mean 'not quiesced' A state of 1 means 'is quiesced' The original code got this wrong. Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
15945fee6f
commit
9e6603da9b
|
@ -1708,14 +1708,14 @@ void raid1_quiesce(mddev_t *mddev, int state)
|
|||
conf_t *conf = mddev_to_conf(mddev);
|
||||
|
||||
switch(state) {
|
||||
case 0:
|
||||
case 1:
|
||||
spin_lock_irq(&conf->resync_lock);
|
||||
conf->barrier++;
|
||||
wait_event_lock_irq(conf->wait_idle, !conf->nr_pending,
|
||||
conf->resync_lock, raid1_unplug(mddev->queue));
|
||||
spin_unlock_irq(&conf->resync_lock);
|
||||
break;
|
||||
case 1:
|
||||
case 0:
|
||||
spin_lock_irq(&conf->resync_lock);
|
||||
conf->barrier--;
|
||||
spin_unlock_irq(&conf->resync_lock);
|
||||
|
|
Loading…
Reference in New Issue