Avoid taking md->bdev->bd_inode->i_mutex to update the DM block device's size. Doing so eliminates the potential for deadlock if an fsync is racing with a device resize. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> --- drivers/md/dm.c | 5 +---- 1 files changed, 1 insertions(+), 4 deletions(-) diff --git a/drivers/md/dm.c b/drivers/md/dm.c index f934e98..fd315a7 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c @@ -1995,10 +1995,7 @@ static void event_callback(void *context) static void __set_size(struct mapped_device *md, sector_t size) { set_capacity(md->disk, size); - - mutex_lock(&md->bdev->bd_inode->i_mutex); - i_size_write(md->bdev->bd_inode, (loff_t)size << SECTOR_SHIFT); - mutex_unlock(&md->bdev->bd_inode->i_mutex); + revalidate_disk(md->disk); } /* -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel