X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=fs%2Fblock_dev.c;h=846f32d51be715aab0ead64c6e79ba9ef2897f24;hb=6796bf54a64df36f96a42ae222423fffe36c58a5;hp=19f5f153ddb8d38051b758dd1b411da80f9691f6;hpb=37be41241f43109c55d92cdbf303399eea642f14;p=~andy%2Flinux diff --git a/fs/block_dev.c b/fs/block_dev.c index 19f5f153ddb..846f32d51be 100644 --- a/fs/block_dev.c +++ b/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--;