From: NeilBrown Now that the nesting in blkdev_{get,put} is simpler, adding mutex_lock_nested is trivial. Cc: Ingo Molnar Acked-by: Peter Zijlstra Signed-off-by: Neil Brown Signed-off-by: Andrew Morton --- fs/block_dev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -puN fs/block_dev.c~use-mutex_lock_nested-for-bd_mutex-to-avoid-lockdep-warning fs/block_dev.c --- a/fs/block_dev.c~use-mutex_lock_nested-for-bd_mutex-to-avoid-lockdep-warning +++ a/fs/block_dev.c @@ -920,7 +920,7 @@ static int do_open(struct block_device * } 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_dev 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--; _