Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f233ea5c authored by Andre Noll's avatar Andre Noll Committed by NeilBrown
Browse files

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: default avatarAndre Noll <maan@systemlinux.org>
Signed-off-by: default avatarNeilBrown <neilb@suse.de>
parent 15f4a5fd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -297,7 +297,7 @@ static int run(mddev_t *mddev)
	rdev_for_each(rdev, tmp, mddev)
		conf->rdev = rdev;

	mddev->array_size = mddev->size;
	mddev->array_sectors = mddev->size * 2;
	mddev->private = conf;

	reconfig(mddev, mddev->layout, -1);
+3 −3
Original line number Diff line number Diff line
@@ -256,7 +256,7 @@ static int linear_run (mddev_t *mddev)
	if (!conf)
		return 1;
	mddev->private = conf;
	mddev->array_size = conf->array_size;
	mddev->array_sectors = conf->array_size * 2;

	blk_queue_merge_bvec(mddev->queue, linear_mergeable_bvec);
	mddev->queue->unplug_fn = linear_unplug;
@@ -290,8 +290,8 @@ static int linear_add(mddev_t *mddev, mdk_rdev_t *rdev)
	newconf->prev = mddev_to_conf(mddev);
	mddev->private = newconf;
	mddev->raid_disks++;
	mddev->array_size = newconf->array_size;
	set_capacity(mddev->gendisk, mddev->array_size << 1);
	mddev->array_sectors = newconf->array_size * 2;
	set_capacity(mddev->gendisk, mddev->array_sectors);
	return 0;
}

+7 −5
Original line number Diff line number Diff line
@@ -3704,7 +3704,7 @@ static int do_md_run(mddev_t * mddev)
	if (mddev->flags)
		md_update_sb(mddev, 0);

	set_capacity(disk, mddev->array_size<<1);
	set_capacity(disk, mddev->array_sectors);

	/* If we call blk_queue_make_request here, it will
	 * re-initialise max_sectors etc which may have been
@@ -3905,7 +3905,7 @@ static int do_md_stop(mddev_t * mddev, int mode, int is_open)

		export_array(mddev);

		mddev->array_size = 0;
		mddev->array_sectors = 0;
		mddev->size = 0;
		mddev->raid_disks = 0;
		mddev->recovery_cp = 0;
@@ -4644,7 +4644,8 @@ static int update_size(mddev_t *mddev, sector_t num_sectors)
		bdev = bdget_disk(mddev->gendisk, 0);
		if (bdev) {
			mutex_lock(&bdev->bd_inode->i_mutex);
			i_size_write(bdev->bd_inode, (loff_t)mddev->array_size << 10);
			i_size_write(bdev->bd_inode,
				     (loff_t)mddev->array_sectors << 9);
			mutex_unlock(&bdev->bd_inode->i_mutex);
			bdput(bdev);
		}
@@ -5391,7 +5392,8 @@ static int md_seq_show(struct seq_file *seq, void *v)
		if (!list_empty(&mddev->disks)) {
			if (mddev->pers)
				seq_printf(seq, "\n      %llu blocks",
					(unsigned long long)mddev->array_size);
					   (unsigned long long)
					   mddev->array_sectors / 2);
			else
				seq_printf(seq, "\n      %llu blocks",
					   (unsigned long long)size);
+1 −1
Original line number Diff line number Diff line
@@ -504,7 +504,7 @@ static int multipath_run (mddev_t *mddev)
	/*
	 * Ok, everything is just fine now
	 */
	mddev->array_size = mddev->size;
	mddev->array_sectors = mddev->size * 2;

	mddev->queue->unplug_fn = multipath_unplug;
	mddev->queue->backing_dev_info.congested_fn = multipath_congested;
+4 −4
Original line number Diff line number Diff line
@@ -293,16 +293,16 @@ static int raid0_run (mddev_t *mddev)
		goto out_free_conf;

	/* calculate array device size */
	mddev->array_size = 0;
	mddev->array_sectors = 0;
	rdev_for_each(rdev, tmp, mddev)
		mddev->array_size += rdev->size;
		mddev->array_sectors += rdev->size * 2;

	printk("raid0 : md_size is %llu blocks.\n", 
		(unsigned long long)mddev->array_size);
		(unsigned long long)mddev->array_sectors / 2);
	printk("raid0 : conf->hash_spacing is %llu blocks.\n",
		(unsigned long long)conf->hash_spacing);
	{
		sector_t s = mddev->array_size;
		sector_t s = mddev->array_sectors / 2;
		sector_t space = conf->hash_spacing;
		int round;
		conf->preshift = 0;
Loading