X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=block%2Fioctl.c;h=e06dbe9bc8588ac7aa6eb96b3378d16bdbaa9816;hb=8d3ee2cb0ab59f78fdc801ede7db15ef47387bd0;hp=f6962b64660ea67c6092c6303d7d52cd69bffbeb;hpb=9b3a89f8b052f2a6193a9691e053f986144a65a0;p=~andy%2Flinux diff --git a/block/ioctl.c b/block/ioctl.c index f6962b64660..e06dbe9bc85 100644 --- a/block/ioctl.c +++ b/block/ioctl.c @@ -61,7 +61,7 @@ static int blkpg_ioctl(struct block_device *bdev, struct blkpg_ioctl_arg __user } } /* all seems OK */ - add_partition(disk, part, start, length); + add_partition(disk, part, start, length, ADDPART_FLAG_NONE); mutex_unlock(&bdev->bd_mutex); return 0; case BLKPG_DEL_PARTITION: @@ -82,7 +82,7 @@ static int blkpg_ioctl(struct block_device *bdev, struct blkpg_ioctl_arg __user fsync_bdev(bdevp); invalidate_bdev(bdevp, 0); - mutex_lock(&bdev->bd_mutex); + mutex_lock_nested(&bdev->bd_mutex, 1); delete_partition(disk, part); mutex_unlock(&bdev->bd_mutex); mutex_unlock(&bdevp->bd_mutex);