diff options
Diffstat (limited to 'fs/super.c')
| -rw-r--r-- | fs/super.c | 14 | 
1 files changed, 7 insertions, 7 deletions
diff --git a/fs/super.c b/fs/super.c index ca696155cd9..22374bf0ba8 100644 --- a/fs/super.c +++ b/fs/super.c @@ -801,13 +801,13 @@ struct dentry *mount_bdev(struct file_system_type *fs_type,  		/*  		 * s_umount nests inside bd_mutex during -		 * __invalidate_device().  close_bdev_exclusive() -		 * acquires bd_mutex and can't be called under -		 * s_umount.  Drop s_umount temporarily.  This is safe -		 * as we're holding an active reference. +		 * __invalidate_device().  blkdev_put() acquires +		 * bd_mutex and can't be called under s_umount.  Drop +		 * s_umount temporarily.  This is safe as we're +		 * holding an active reference.  		 */  		up_write(&s->s_umount); -		close_bdev_exclusive(bdev, mode); +		blkdev_put(bdev, mode | FMODE_EXCL);  		down_write(&s->s_umount);  	} else {  		char b[BDEVNAME_SIZE]; @@ -831,7 +831,7 @@ struct dentry *mount_bdev(struct file_system_type *fs_type,  error_s:  	error = PTR_ERR(s);  error_bdev: -	close_bdev_exclusive(bdev, mode); +	blkdev_put(bdev, mode | FMODE_EXCL);  error:  	return ERR_PTR(error);  } @@ -862,7 +862,7 @@ void kill_block_super(struct super_block *sb)  	bdev->bd_super = NULL;  	generic_shutdown_super(sb);  	sync_blockdev(bdev); -	close_bdev_exclusive(bdev, mode); +	blkdev_put(bdev, mode | FMODE_EXCL);  }  EXPORT_SYMBOL(kill_block_super);  |