summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2021-11-04 22:13:17 +0100
committerJens Axboe <axboe@kernel.dk>2021-11-05 15:32:05 +0100
commit138c1a38113d989416df57e9f8973c10c9e1fa04 (patch)
tree130be89d57d55d216d3e607895e5a8b6d8f46a73 /block
parentblock: add a loff_t cast to bdev_nr_bytes (diff)
downloadlinux-138c1a38113d989416df57e9f8973c10c9e1fa04.tar.xz
linux-138c1a38113d989416df57e9f8973c10c9e1fa04.zip
block: use new bdev_nr_bytes() helper for blkdev_{read,write}_iter()
We have new helpers for this, use them rather than the slower inode size reads. This makes the read/write path consistent with most of the rest of block as well. Signed-off-by: Jens Axboe <axboe@kernel.dk> Reviewed-by: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/r/a72767cd-3c6d-47f7-80f4-aa025a17b2cb@kernel.dk Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block')
-rw-r--r--block/fops.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/block/fops.c b/block/fops.c
index 2ae8a7bd2b84..e6c5b35aa5a5 100644
--- a/block/fops.c
+++ b/block/fops.c
@@ -460,7 +460,7 @@ static ssize_t blkdev_write_iter(struct kiocb *iocb, struct iov_iter *from)
{
struct block_device *bdev = iocb->ki_filp->private_data;
struct inode *bd_inode = bdev->bd_inode;
- loff_t size = i_size_read(bd_inode);
+ loff_t size = bdev_nr_bytes(bdev);
struct blk_plug plug;
size_t shorted = 0;
ssize_t ret;
@@ -498,7 +498,7 @@ static ssize_t blkdev_write_iter(struct kiocb *iocb, struct iov_iter *from)
static ssize_t blkdev_read_iter(struct kiocb *iocb, struct iov_iter *to)
{
struct block_device *bdev = iocb->ki_filp->private_data;
- loff_t size = i_size_read(bdev->bd_inode);
+ loff_t size = bdev_nr_bytes(bdev);
loff_t pos = iocb->ki_pos;
size_t shorted = 0;
ssize_t ret;