loop: use vfs_getattr_nosec for accurate file size
authorRajeev Mishra <rajeevm@hpe.com>
Mon, 18 Aug 2025 18:48:21 +0000 (18:48 +0000)
committerJens Axboe <axboe@kernel.dk>
Mon, 18 Aug 2025 19:10:35 +0000 (13:10 -0600)
commit47b71abd58461a67cae71d2f2a9d44379e4e2fcf
treeaeb6c4c30fecf14adda0ba23a4061feb503966a2
parent8aa5a3b68ad144da49a3d17f165e6561255e3529
loop: use vfs_getattr_nosec for accurate file size

Use vfs_getattr_nosec() in lo_calculate_size() for getting the file
size, rather than just read the cached inode size via i_size_read().
This provides better results than cached inode data, particularly for
network filesystems where metadata may be stale.

Signed-off-by: Rajeev Mishra <rajeevm@hpe.com>
Reviewed-by: Yu Kuai <yukuai3@huawei.com>
Link: https://lore.kernel.org/r/20250818184821.115033-3-rajeevm@hpe.com
[axboe: massage commit message]
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/loop.c