aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/raid5.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/md/raid5.c')
-rw-r--r--drivers/md/raid5.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index c5439dce0295..2bf617d6f4fd 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -466,7 +466,7 @@ get_active_stripe(struct r5conf *conf, sector_t sector,
466 do { 466 do {
467 wait_event_lock_irq(conf->wait_for_stripe, 467 wait_event_lock_irq(conf->wait_for_stripe,
468 conf->quiesce == 0 || noquiesce, 468 conf->quiesce == 0 || noquiesce,
469 conf->device_lock, /* nothing */); 469 conf->device_lock);
470 sh = __find_stripe(conf, sector, conf->generation - previous); 470 sh = __find_stripe(conf, sector, conf->generation - previous);
471 if (!sh) { 471 if (!sh) {
472 if (!conf->inactive_blocked) 472 if (!conf->inactive_blocked)
@@ -480,8 +480,7 @@ get_active_stripe(struct r5conf *conf, sector_t sector,
480 (atomic_read(&conf->active_stripes) 480 (atomic_read(&conf->active_stripes)
481 < (conf->max_nr_stripes *3/4) 481 < (conf->max_nr_stripes *3/4)
482 || !conf->inactive_blocked), 482 || !conf->inactive_blocked),
483 conf->device_lock, 483 conf->device_lock);
484 );
485 conf->inactive_blocked = 0; 484 conf->inactive_blocked = 0;
486 } else 485 } else
487 init_stripe(sh, sector, previous); 486 init_stripe(sh, sector, previous);
@@ -1646,8 +1645,7 @@ static int resize_stripes(struct r5conf *conf, int newsize)
1646 spin_lock_irq(&conf->device_lock); 1645 spin_lock_irq(&conf->device_lock);
1647 wait_event_lock_irq(conf->wait_for_stripe, 1646 wait_event_lock_irq(conf->wait_for_stripe,
1648 !list_empty(&conf->inactive_list), 1647 !list_empty(&conf->inactive_list),
1649 conf->device_lock, 1648 conf->device_lock);
1650 );
1651 osh = get_free_stripe(conf); 1649 osh = get_free_stripe(conf);
1652 spin_unlock_irq(&conf->device_lock); 1650 spin_unlock_irq(&conf->device_lock);
1653 atomic_set(&nsh->count, 1); 1651 atomic_set(&nsh->count, 1);
@@ -4000,7 +3998,7 @@ static int chunk_aligned_read(struct mddev *mddev, struct bio * raid_bio)
4000 spin_lock_irq(&conf->device_lock); 3998 spin_lock_irq(&conf->device_lock);
4001 wait_event_lock_irq(conf->wait_for_stripe, 3999 wait_event_lock_irq(conf->wait_for_stripe,
4002 conf->quiesce == 0, 4000 conf->quiesce == 0,
4003 conf->device_lock, /* nothing */); 4001 conf->device_lock);
4004 atomic_inc(&conf->active_aligned_reads); 4002 atomic_inc(&conf->active_aligned_reads);
4005 spin_unlock_irq(&conf->device_lock); 4003 spin_unlock_irq(&conf->device_lock);
4006 4004
@@ -6088,7 +6086,7 @@ static void raid5_quiesce(struct mddev *mddev, int state)
6088 wait_event_lock_irq(conf->wait_for_stripe, 6086 wait_event_lock_irq(conf->wait_for_stripe,
6089 atomic_read(&conf->active_stripes) == 0 && 6087 atomic_read(&conf->active_stripes) == 0 &&
6090 atomic_read(&conf->active_aligned_reads) == 0, 6088 atomic_read(&conf->active_aligned_reads) == 0,
6091 conf->device_lock, /* nothing */); 6089 conf->device_lock);
6092 conf->quiesce = 1; 6090 conf->quiesce = 1;
6093 spin_unlock_irq(&conf->device_lock); 6091 spin_unlock_irq(&conf->device_lock);
6094 /* allow reshape to continue */ 6092 /* allow reshape to continue */