[PATCH] lockdep: annotate the BLKPG_DEL_PARTITION ioctl
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 <arjan@linux.intel.com> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Родитель
7e56a7dcbb
Коммит
ddca60c590
|
@ -72,7 +72,7 @@ static int blkpg_ioctl(struct block_device *bdev, struct blkpg_ioctl_arg __user
|
||||||
bdevp = bdget_disk(disk, part);
|
bdevp = bdget_disk(disk, part);
|
||||||
if (!bdevp)
|
if (!bdevp)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
mutex_lock(&bdevp->bd_mutex);
|
mutex_lock_nested(&bdevp->bd_mutex, BD_MUTEX_PARTITION);
|
||||||
if (bdevp->bd_openers) {
|
if (bdevp->bd_openers) {
|
||||||
mutex_unlock(&bdevp->bd_mutex);
|
mutex_unlock(&bdevp->bd_mutex);
|
||||||
bdput(bdevp);
|
bdput(bdevp);
|
||||||
|
@ -82,7 +82,7 @@ static int blkpg_ioctl(struct block_device *bdev, struct blkpg_ioctl_arg __user
|
||||||
fsync_bdev(bdevp);
|
fsync_bdev(bdevp);
|
||||||
invalidate_bdev(bdevp, 0);
|
invalidate_bdev(bdevp, 0);
|
||||||
|
|
||||||
mutex_lock(&bdev->bd_mutex);
|
mutex_lock_nested(&bdev->bd_mutex, BD_MUTEX_WHOLE);
|
||||||
delete_partition(disk, part);
|
delete_partition(disk, part);
|
||||||
mutex_unlock(&bdev->bd_mutex);
|
mutex_unlock(&bdev->bd_mutex);
|
||||||
mutex_unlock(&bdevp->bd_mutex);
|
mutex_unlock(&bdevp->bd_mutex);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче