Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

md: Replace calc_dev_size() by calc_num_sectors().

Number of sectors is the preferred unit for sizes of raid devices,
so change calc_dev_size() so that it returns this unit instead of
the number of 1K blocks.

Signed-off-by: Andre Noll <maan@systemlinux.org>
Signed-off-by: Neil Brown <neilb@suse.de>

authored by

Andre Noll and committed by
Neil Brown
e7debaa4 d71f9f88

+7 -11
+7 -11
drivers/md/md.c
··· 353 353 return MD_NEW_SIZE_BLOCKS(size); 354 354 } 355 355 356 - static sector_t calc_dev_size(mdk_rdev_t *rdev, unsigned chunk_size) 356 + static sector_t calc_num_sectors(mdk_rdev_t *rdev, unsigned chunk_size) 357 357 { 358 - sector_t size; 359 - 360 - size = rdev->sb_offset; 358 + sector_t num_sectors = rdev->sb_offset * 2; 361 359 362 360 if (chunk_size) 363 - size &= ~((sector_t)chunk_size/1024 - 1); 364 - return size; 361 + num_sectors &= ~((sector_t)chunk_size/512 - 1); 362 + return num_sectors; 365 363 } 366 364 367 365 static int alloc_disk_sb(mdk_rdev_t * rdev) ··· 751 753 else 752 754 ret = 0; 753 755 } 754 - rdev->size = calc_dev_size(rdev, sb->chunk_size); 756 + rdev->size = calc_num_sectors(rdev, sb->chunk_size) / 2; 755 757 756 758 if (rdev->size < sb->size && sb->level > 1) 757 759 /* "this cannot possibly happen" ... */ ··· 4357 4359 rdev->sb_offset = rdev->bdev->bd_inode->i_size >> BLOCK_SIZE_BITS; 4358 4360 } else 4359 4361 rdev->sb_offset = calc_dev_sboffset(rdev->bdev); 4360 - rdev->size = calc_dev_size(rdev, mddev->chunk_size); 4362 + rdev->size = calc_num_sectors(rdev, mddev->chunk_size) / 2; 4361 4363 4362 4364 err = bind_rdev_to_array(rdev, mddev); 4363 4365 if (err) { ··· 4396 4398 { 4397 4399 char b[BDEVNAME_SIZE]; 4398 4400 int err; 4399 - unsigned int size; 4400 4401 mdk_rdev_t *rdev; 4401 4402 4402 4403 if (!mddev->pers) ··· 4428 4431 rdev->sb_offset = 4429 4432 rdev->bdev->bd_inode->i_size >> BLOCK_SIZE_BITS; 4430 4433 4431 - size = calc_dev_size(rdev, mddev->chunk_size); 4432 - rdev->size = size; 4434 + rdev->size = calc_num_sectors(rdev, mddev->chunk_size) / 2; 4433 4435 4434 4436 if (test_bit(Faulty, &rdev->flags)) { 4435 4437 printk(KERN_WARNING