diff options
author | Jens Axboe <axboe@kernel.dk> | 2021-11-04 22:13:17 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2021-11-05 15:32:05 +0100 |
commit | 138c1a38113d989416df57e9f8973c10c9e1fa04 (patch) | |
tree | 130be89d57d55d216d3e607895e5a8b6d8f46a73 /block | |
parent | block: add a loff_t cast to bdev_nr_bytes (diff) | |
download | linux-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.c | 4 |
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; |