summaryrefslogtreecommitdiff
path: root/fs/block_dev.c
diff options
context:
space:
mode:
authorZheng Bin <zhengbin13@huawei.com>2020-06-18 07:21:37 +0300
committerJens Axboe <axboe@kernel.dk>2020-06-18 18:24:35 +0300
commitf4bd34b139a3fa2808c4205f12714c65e1548c6c (patch)
treef006235fc2d2c665077d6fabf8b971b81b55f1c7 /fs/block_dev.c
parentbc163c2046c5867df7d2b03e85bca29adf83fa32 (diff)
downloadlinux-f4bd34b139a3fa2808c4205f12714c65e1548c6c.tar.xz
loop: replace kill_bdev with invalidate_bdev
When a filesystem is mounted on a loop device and on a loop ioctl LOOP_SET_STATUS64, because of kill_bdev, buffer_head mappings are getting destroyed. kill_bdev truncate_inode_pages truncate_inode_pages_range do_invalidatepage block_invalidatepage discard_buffer -->clear BH_Mapped flag sb_bread __bread_gfp bh = __getblk_gfp -->discard_buffer clear BH_Mapped flag __bread_slow submit_bh submit_bh_wbc BUG_ON(!buffer_mapped(bh)) --> hit this BUG_ON Fixes: 5db470e229e2 ("loop: drop caches if offset or block_size are changed") Signed-off-by: Zheng Bin <zhengbin13@huawei.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'fs/block_dev.c')
0 files changed, 0 insertions, 0 deletions