return 0;
}
-#ifdef HAVE_BLKDEV_PUT_2ARGS
-static int lo_open(struct block_device *bdev, fmode_t mode)
-{
- struct lloop_device *lo = bdev->bd_disk->private_data;
-#else
static int lo_open(struct inode *inode, struct file *file)
{
struct lloop_device *lo = inode->i_bdev->bd_disk->private_data;
-#endif
down(&lo->lo_ctl_mutex);
lo->lo_refcnt++;
return 0;
}
-#ifdef HAVE_BLKDEV_PUT_2ARGS
-static int lo_release(struct gendisk *disk, fmode_t mode)
-{
- struct lloop_device *lo = disk->private_data;
-#else
static int lo_release(struct inode *inode, struct file *file)
{
struct lloop_device *lo = inode->i_bdev->bd_disk->private_data;
-#endif
down(&lo->lo_ctl_mutex);
--lo->lo_refcnt;
}
/* lloop device node's ioctl function. */
-#ifdef HAVE_BLKDEV_PUT_2ARGS
-static int lo_ioctl(struct block_device *bdev, fmode_t mode,
- unsigned int cmd, unsigned long arg)
-{
- struct lloop_device *lo = bdev->bd_disk->private_data;
-#else
static int lo_ioctl(struct inode *inode, struct file *unused,
unsigned int cmd, unsigned long arg)
{
struct lloop_device *lo = inode->i_bdev->bd_disk->private_data;
struct block_device *bdev = inode->i_bdev;
-#endif
int err = 0;
down(&lloop_mutex);
case LL_IOC_LLOOP_DETACH: {
err = loop_clr_fd(lo, bdev, 2);
if (err == 0)
- ll_blkdev_put(bdev, 0); /* grabbed in LLOOP_ATTACH */
+ blkdev_put(bdev); /* grabbed in LLOOP_ATTACH */
break;
}
err = loop_set_fd(lo, NULL, bdev, file);
if (err) {
fput(file);
- ll_blkdev_put(bdev, 0);
+ blkdev_put(bdev);
}
break;
bdev = lo->lo_device;
err = loop_clr_fd(lo, bdev, 1);
if (err == 0)
- ll_blkdev_put(bdev, 0); /* grabbed in LLOOP_ATTACH */
+ blkdev_put(bdev); /* grabbed in LLOOP_ATTACH */
break;
}