diff --git a/[refs] b/[refs] index 1ed6932d0141..90532d3b3b59 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 37be41241f43109c55d92cdbf303399eea642f14 +refs/heads/master: 6796bf54a64df36f96a42ae222423fffe36c58a5 diff --git a/trunk/fs/block_dev.c b/trunk/fs/block_dev.c index 19f5f153ddb8..846f32d51be7 100644 --- a/trunk/fs/block_dev.c +++ b/trunk/fs/block_dev.c @@ -920,7 +920,7 @@ static int do_open(struct block_device *bdev, struct file *file, int for_part) } owner = disk->fops->owner; - mutex_lock(&bdev->bd_mutex); + mutex_lock_nested(&bdev->bd_mutex, for_part); if (!bdev->bd_openers) { bdev->bd_disk = disk; bdev->bd_contains = bdev; @@ -1062,7 +1062,7 @@ static int __blkdev_put(struct block_device *bdev, int for_part) struct gendisk *disk = bdev->bd_disk; struct block_device *victim = NULL; - mutex_lock(&bdev->bd_mutex); + mutex_lock_nested(&bdev->bd_mutex, for_part); lock_kernel(); if (for_part) bdev->bd_part_count--;