dm-vdo: use bdev_nr_bytes(bdev) instead of i_size_read(bdev->bd_inode)
authorAl Viro <viro@zeniv.linux.org.uk>
Thu, 11 Apr 2024 14:53:44 +0000 (15:53 +0100)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 3 May 2024 06:36:21 +0000 (02:36 -0400)
going to be faster, actually - shift is cheaper than dereference...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Link: https://lore.kernel.org/r/20240411145346.2516848-9-viro@zeniv.linux.org.uk
Reviewed-by: Matthew Sakai <msakai@redhat.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
drivers/md/dm-vdo/dm-vdo-target.c
drivers/md/dm-vdo/indexer/io-factory.c

index 5a4b0a927f560b053a502d9e777dcb8d97f51af1..b423bec6458bbe6bf53e7bf56da5c1d8251b5a7a 100644 (file)
@@ -878,7 +878,7 @@ static int parse_device_config(int argc, char **argv, struct dm_target *ti,
        }
 
        if (config->version == 0) {
-               u64 device_size = i_size_read(config->owned_device->bdev->bd_inode);
+               u64 device_size = bdev_nr_bytes(config->owned_device->bdev);
 
                config->physical_blocks = device_size / VDO_BLOCK_SIZE;
        }
@@ -1011,7 +1011,7 @@ static void vdo_status(struct dm_target *ti, status_type_t status_type,
 
 static block_count_t __must_check get_underlying_device_block_count(const struct vdo *vdo)
 {
-       return i_size_read(vdo_get_backing_device(vdo)->bd_inode) / VDO_BLOCK_SIZE;
+       return bdev_nr_bytes(vdo_get_backing_device(vdo)) / VDO_BLOCK_SIZE;
 }
 
 static int __must_check process_vdo_message_locked(struct vdo *vdo, unsigned int argc,
index 515765d35794afb2faa9c1557b0b7e9db16689e5..1bee9d63dc0a692734cc6908809534dcc45bb158 100644 (file)
@@ -90,7 +90,7 @@ void uds_put_io_factory(struct io_factory *factory)
 
 size_t uds_get_writable_size(struct io_factory *factory)
 {
-       return i_size_read(factory->bdev->bd_inode);
+       return bdev_nr_bytes(factory->bdev);
 }
 
 /* Create a struct dm_bufio_client for an index region starting at offset. */