diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-12-12 15:30:15 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-12-12 15:30:15 -0500 |
commit | 20234989a8ae0ff418e2acdef72205fb7cb3f819 (patch) | |
tree | 6888e6c6b8f2beef67b3f85570aebb853f8443f9 /drivers/md/raid5.c | |
parent | 92f268e034faf793f6d40de2f0fc81478a14ff39 (diff) | |
parent | 49d7bc64283970ee83d2c954d04ba00d04e5943d (diff) | |
download | kernel_samsung_crespo-20234989a8ae0ff418e2acdef72205fb7cb3f819.zip kernel_samsung_crespo-20234989a8ae0ff418e2acdef72205fb7cb3f819.tar.gz kernel_samsung_crespo-20234989a8ae0ff418e2acdef72205fb7cb3f819.tar.bz2 |
Merge branch 'master'
Diffstat (limited to 'drivers/md/raid5.c')
-rw-r--r-- | drivers/md/raid5.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index 36d5f8a..fafc4bc 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -98,7 +98,7 @@ static inline void __release_stripe(raid5_conf_t *conf, struct stripe_head *sh) list_add_tail(&sh->lru, &conf->inactive_list); atomic_dec(&conf->active_stripes); if (!conf->inactive_blocked || - atomic_read(&conf->active_stripes) < (NR_STRIPES*3/4)) + atomic_read(&conf->active_stripes) < (conf->max_nr_stripes*3/4)) wake_up(&conf->wait_for_stripe); } } @@ -264,7 +264,8 @@ static struct stripe_head *get_active_stripe(raid5_conf_t *conf, sector_t sector conf->inactive_blocked = 1; wait_event_lock_irq(conf->wait_for_stripe, !list_empty(&conf->inactive_list) && - (atomic_read(&conf->active_stripes) < (NR_STRIPES *3/4) + (atomic_read(&conf->active_stripes) + < (conf->max_nr_stripes *3/4) || !conf->inactive_blocked), conf->device_lock, unplug_slaves(conf->mddev); @@ -1917,7 +1918,7 @@ static int run(mddev_t *mddev) goto abort; } } -memory = conf->max_nr_stripes * (sizeof(struct stripe_head) + + memory = conf->max_nr_stripes * (sizeof(struct stripe_head) + conf->raid_disks * ((sizeof(struct bio) + PAGE_SIZE))) / 1024; if (grow_stripes(conf, conf->max_nr_stripes)) { printk(KERN_ERR |