From: Arjan van de Ven The delete partition IOCTL takes the bd_mutex for both the disk and the partition; these have an obvious hierarchical relationship and this patch annotates this relationship for lockdep. Signed-off-by: Arjan van de Ven Acked-by: Ingo Molnar Signed-off-by: Andrew Morton --- block/ioctl.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN block/ioctl.c~lockdep-annotate-the-blkpg_del_partition-ioctl block/ioctl.c --- a/block/ioctl.c~lockdep-annotate-the-blkpg_del_partition-ioctl +++ a/block/ioctl.c @@ -72,7 +72,7 @@ static int blkpg_ioctl(struct block_devi bdevp = bdget_disk(disk, part); if (!bdevp) return -ENOMEM; - mutex_lock(&bdevp->bd_mutex); + mutex_lock_nested(&bdevp->bd_mutex, BD_MUTEX_PARTITION); if (bdevp->bd_openers) { mutex_unlock(&bdevp->bd_mutex); bdput(bdevp); @@ -82,7 +82,7 @@ static int blkpg_ioctl(struct block_devi fsync_bdev(bdevp); invalidate_bdev(bdevp, 0); - mutex_lock(&bdev->bd_mutex); + mutex_lock_nested(&bdev->bd_mutex, BD_MUTEX_WHOLE); delete_partition(disk, part); mutex_unlock(&bdev->bd_mutex); mutex_unlock(&bdevp->bd_mutex); _