diff options
author | NeilBrown <neilb@cse.unsw.edu.au> | 2005-09-09 19:23:48 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-09 19:39:10 -0400 |
commit | 9e6603da9b9cfb14a6aca3845227f8c59f7eeb9b (patch) | |
tree | 6c915e6a181d0eef4a67c879e4adc899d336a34d | |
parent | 15945fee6f09bff1f86b1a735b5888dc59cf38e3 (diff) |
[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>
-rw-r--r-- | drivers/md/raid1.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index ba7f5f256161..bfe78571586b 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c | |||
@@ -1708,14 +1708,14 @@ void raid1_quiesce(mddev_t *mddev, int state) | |||
1708 | conf_t *conf = mddev_to_conf(mddev); | 1708 | conf_t *conf = mddev_to_conf(mddev); |
1709 | 1709 | ||
1710 | switch(state) { | 1710 | switch(state) { |
1711 | case 0: | 1711 | case 1: |
1712 | spin_lock_irq(&conf->resync_lock); | 1712 | spin_lock_irq(&conf->resync_lock); |
1713 | conf->barrier++; | 1713 | conf->barrier++; |
1714 | wait_event_lock_irq(conf->wait_idle, !conf->nr_pending, | 1714 | wait_event_lock_irq(conf->wait_idle, !conf->nr_pending, |
1715 | conf->resync_lock, raid1_unplug(mddev->queue)); | 1715 | conf->resync_lock, raid1_unplug(mddev->queue)); |
1716 | spin_unlock_irq(&conf->resync_lock); | 1716 | spin_unlock_irq(&conf->resync_lock); |
1717 | break; | 1717 | break; |
1718 | case 1: | 1718 | case 0: |
1719 | spin_lock_irq(&conf->resync_lock); | 1719 | spin_lock_irq(&conf->resync_lock); |
1720 | conf->barrier--; | 1720 | conf->barrier--; |
1721 | spin_unlock_irq(&conf->resync_lock); | 1721 | spin_unlock_irq(&conf->resync_lock); |