[dm-devel] [PATCH] dm: use revalidate_disk to update device size after set_capacity
Mike Snitzer
snitzer at redhat.com
Tue Oct 19 22:07:11 UTC 2010
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 at redhat.com>
---
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);
}
/*
More information about the dm-devel
mailing list