md: Make mddev->array_size sector-based.
This patch renames the array_size field of struct mddev_s to array_sectors and converts all instances to use units of 512 byte sectors instead of 1k blocks. Signed-off-by: Andre Noll <maan@systemlinux.org> Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
@ -3540,7 +3540,7 @@ static sector_t reshape_request(mddev_t *mddev, sector_t sector_nr, int *skipped
|
||||
j == raid6_next_disk(sh->pd_idx, sh->disks))
|
||||
continue;
|
||||
s = compute_blocknr(sh, j);
|
||||
if (s < (mddev->array_size<<1)) {
|
||||
if (s < mddev->array_sectors) {
|
||||
skipped = 1;
|
||||
continue;
|
||||
}
|
||||
@ -4189,7 +4189,7 @@ static int run(mddev_t *mddev)
|
||||
mddev->queue->backing_dev_info.congested_data = mddev;
|
||||
mddev->queue->backing_dev_info.congested_fn = raid5_congested;
|
||||
|
||||
mddev->array_size = mddev->size * (conf->previous_raid_disks -
|
||||
mddev->array_sectors = 2 * mddev->size * (conf->previous_raid_disks -
|
||||
conf->max_degraded);
|
||||
|
||||
blk_queue_merge_bvec(mddev->queue, raid5_mergeable_bvec);
|
||||
@ -4413,8 +4413,9 @@ static int raid5_resize(mddev_t *mddev, sector_t sectors)
|
||||
raid5_conf_t *conf = mddev_to_conf(mddev);
|
||||
|
||||
sectors &= ~((sector_t)mddev->chunk_size/512 - 1);
|
||||
mddev->array_size = (sectors * (mddev->raid_disks-conf->max_degraded))>>1;
|
||||
set_capacity(mddev->gendisk, mddev->array_size << 1);
|
||||
mddev->array_sectors = sectors * (mddev->raid_disks
|
||||
- conf->max_degraded);
|
||||
set_capacity(mddev->gendisk, mddev->array_sectors);
|
||||
mddev->changed = 1;
|
||||
if (sectors/2 > mddev->size && mddev->recovery_cp == MaxSector) {
|
||||
mddev->recovery_cp = mddev->size << 1;
|
||||
@ -4547,15 +4548,16 @@ static void end_reshape(raid5_conf_t *conf)
|
||||
struct block_device *bdev;
|
||||
|
||||
if (!test_bit(MD_RECOVERY_INTR, &conf->mddev->recovery)) {
|
||||
conf->mddev->array_size = conf->mddev->size *
|
||||
conf->mddev->array_sectors = 2 * conf->mddev->size *
|
||||
(conf->raid_disks - conf->max_degraded);
|
||||
set_capacity(conf->mddev->gendisk, conf->mddev->array_size << 1);
|
||||
set_capacity(conf->mddev->gendisk, conf->mddev->array_sectors);
|
||||
conf->mddev->changed = 1;
|
||||
|
||||
bdev = bdget_disk(conf->mddev->gendisk, 0);
|
||||
if (bdev) {
|
||||
mutex_lock(&bdev->bd_inode->i_mutex);
|
||||
i_size_write(bdev->bd_inode, (loff_t)conf->mddev->array_size << 10);
|
||||
i_size_write(bdev->bd_inode,
|
||||
(loff_t)conf->mddev->array_sectors << 9);
|
||||
mutex_unlock(&bdev->bd_inode->i_mutex);
|
||||
bdput(bdev);
|
||||
}
|
||||
|
Reference in New Issue
Block a user