Commit 6dcbb52c authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

dm: use bdev_nr_sectors and bdev_nr_bytes instead of open coding them



Use the proper helpers to read the block device size.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarKees Cook <keescook@chromium.org>
Acked-by: default avatarMike Snitzer <snitzer@redhat.com>
Link: https://lore.kernel.org/r/20211018101130.1838532-6-hch@lst.de


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent da7b3924
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1525,7 +1525,7 @@ EXPORT_SYMBOL_GPL(dm_bufio_get_block_size);

sector_t dm_bufio_get_device_size(struct dm_bufio_client *c)
{
	sector_t s = i_size_read(c->bdev->bd_inode) >> SECTOR_SHIFT;
	sector_t s = bdev_nr_sectors(c->bdev);
	if (s >= c->start)
		s -= c->start;
	else
+1 −1
Original line number Diff line number Diff line
@@ -334,7 +334,7 @@ static int __write_initial_superblock(struct dm_cache_metadata *cmd)
	int r;
	struct dm_block *sblock;
	struct cache_disk_superblock *disk_super;
	sector_t bdev_size = i_size_read(cmd->bdev->bd_inode) >> SECTOR_SHIFT;
	sector_t bdev_size = bdev_nr_sectors(cmd->bdev);

	/* FIXME: see if we can lose the max sectors limit */
	if (bdev_size > DM_CACHE_METADATA_MAX_SECTORS)
+1 −1
Original line number Diff line number Diff line
@@ -1940,7 +1940,7 @@ static void cache_dtr(struct dm_target *ti)

static sector_t get_dev_size(struct dm_dev *dev)
{
	return i_size_read(dev->bdev->bd_inode) >> SECTOR_SHIFT;
	return bdev_nr_sectors(dev->bdev);
}

/*----------------------------------------------------------------*/
+1 −1
Original line number Diff line number Diff line
@@ -1514,7 +1514,7 @@ static void clone_status(struct dm_target *ti, status_type_t type,

static sector_t get_dev_size(struct dm_dev *dev)
{
	return i_size_read(dev->bdev->bd_inode) >> SECTOR_SHIFT;
	return bdev_nr_sectors(dev->bdev);
}

/*---------------------------------------------------------------------------*/
+2 −3
Original line number Diff line number Diff line
@@ -415,7 +415,7 @@ static int dust_message(struct dm_target *ti, unsigned int argc, char **argv,
			char *result, unsigned int maxlen)
{
	struct dust_device *dd = ti->private;
	sector_t size = i_size_read(dd->dev->bdev->bd_inode) >> SECTOR_SHIFT;
	sector_t size = bdev_nr_sectors(dd->dev->bdev);
	bool invalid_msg = false;
	int r = -EINVAL;
	unsigned long long tmp, block;
@@ -544,8 +544,7 @@ static int dust_prepare_ioctl(struct dm_target *ti, struct block_device **bdev)
	/*
	 * Only pass ioctls through if the device sizes match exactly.
	 */
	if (dd->start ||
	    ti->len != i_size_read(dev->bdev->bd_inode) >> SECTOR_SHIFT)
	if (dd->start || ti->len != bdev_nr_sectors(dev->bdev))
		return 1;

	return 0;
Loading