|
@@ -180,7 +180,7 @@ int fsync_bdev(struct block_device *bdev)
|
|
|
* freeze_bdev -- lock a filesystem and force it into a consistent state
|
|
|
* @bdev: blockdevice to lock
|
|
|
*
|
|
|
- * This takes the block device bd_mount_mutex to make sure no new mounts
|
|
|
+ * This takes the block device bd_mount_sem to make sure no new mounts
|
|
|
* happen on bdev until thaw_bdev() is called.
|
|
|
* If a superblock is found on this device, we take the s_umount semaphore
|
|
|
* on it to make sure nobody unmounts until the snapshot creation is done.
|
|
@@ -189,7 +189,7 @@ struct super_block *freeze_bdev(struct block_device *bdev)
|
|
|
{
|
|
|
struct super_block *sb;
|
|
|
|
|
|
- mutex_lock(&bdev->bd_mount_mutex);
|
|
|
+ down(&bdev->bd_mount_sem);
|
|
|
sb = get_super(bdev);
|
|
|
if (sb && !(sb->s_flags & MS_RDONLY)) {
|
|
|
sb->s_frozen = SB_FREEZE_WRITE;
|
|
@@ -231,7 +231,7 @@ void thaw_bdev(struct block_device *bdev, struct super_block *sb)
|
|
|
drop_super(sb);
|
|
|
}
|
|
|
|
|
|
- mutex_unlock(&bdev->bd_mount_mutex);
|
|
|
+ up(&bdev->bd_mount_sem);
|
|
|
}
|
|
|
EXPORT_SYMBOL(thaw_bdev);
|
|
|
|