]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - block/ioctl.c
Merge branch 'cleanup-bd_claim' of git://git.kernel.org/pub/scm/linux/kernel/git...
[mv-sheeva.git] / block / ioctl.c
index 3d866d0037f240c8d636f8b8523df962e72ab123..fefa9a4967083208ff880d5a6b31139042661827 100644 (file)
@@ -295,11 +295,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);