X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=block%2Fioctl.c;h=9049d460fa890fd45e3e31c1aa8ca9ed080e9f81;hb=8a335bc631ac9c43675821580c26ebf95a3044ba;hp=a9a302eba01e6a78b46e3af154c4f1b2a1c2c510;hpb=9fb67204d7a00a6444bc121f221527034613d338;p=mv-sheeva.git diff --git a/block/ioctl.c b/block/ioctl.c index a9a302eba01..9049d460fa8 100644 --- a/block/ioctl.c +++ b/block/ioctl.c @@ -294,11 +294,12 @@ int blkdev_ioctl(struct block_device *bdev, fmode_t mode, unsigned cmd, return -EINVAL; if (get_user(n, (int __user *) arg)) return -EFAULT; - if (!(mode & FMODE_EXCL) && bd_claim(bdev, &bdev) < 0) + if (!(mode & FMODE_EXCL) && + blkdev_get(bdev, mode | FMODE_EXCL, &bdev) < 0) return -EBUSY; ret = set_blocksize(bdev, n); if (!(mode & FMODE_EXCL)) - bd_release(bdev); + blkdev_put(bdev, mode | FMODE_EXCL); return ret; case BLKPG: ret = blkpg_ioctl(bdev, (struct blkpg_ioctl_arg __user *) arg);