case BLKROSET:
case BLKROGET:
case BLKPG:
- return blk_ioctl(dev, cmd, arg);
+ return blk_ioctl(inode->i_bdev, cmd, arg);
default:
return -EINVAL;
case BLKFLSBUF:
case BLKBSZGET:
case BLKBSZSET:
- return blk_ioctl(Inode->i_rdev, Request, Argument);
+ return blk_ioctl(Inode->i_bdev, Request, Argument);
case BLKRRPART:
/* Re-Read Partition Table. */
case BLKROGET:
case BLKFLSBUF:
case BLKPG:
- return blk_ioctl(inode->i_rdev, cmd, arg);
+ return blk_ioctl(inode->i_bdev, cmd, arg);
case BLKRRPART: /* Re-read partition tables */
if (!capable(CAP_SYS_ADMIN))
case BLKROSET:
case BLKROGET:
case BLKFLSBUF:
- return blk_ioctl(device, cmd, param);
+ return blk_ioctl(inode->i_bdev, cmd, param);
}
drive = minor (device);
type = drive >> 2;
* Common ioctl's for block devices
*/
extern int block_ioctl(kdev_t dev, unsigned int cmd, unsigned long arg);
-int blk_ioctl(kdev_t dev, unsigned int cmd, unsigned long arg)
+int blk_ioctl(struct block_device *bdev, unsigned int cmd, unsigned long arg)
{
request_queue_t *q;
struct gendisk *g;
u64 ullval = 0;
int intval;
unsigned short usval;
-
- if (kdev_none(dev))
- return -EINVAL;
+ kdev_t dev = to_kdev_t(bdev->bd_dev);
intval = block_ioctl(dev, cmd, arg);
if (intval != -ENOTTY)
case BLKROSET:
case BLKROGET:
case BLKPG:
- return blk_ioctl(inode->i_rdev, cmd, arg);
+ return blk_ioctl(inode->i_bdev, cmd, arg);
case CCISS_GETPCIINFO:
{
cciss_pci_info_struct pciinfo;
case BLKROSET:
case BLKROGET:
case BLKPG:
- return blk_ioctl(inode->i_rdev, cmd, arg);
+ return blk_ioctl(inode->i_bdev, cmd, arg);
default:
return -EINVAL;
case BLKROSET:
case BLKROGET:
case BLKFLSBUF:
- return blk_ioctl(device, cmd, param);
+ return blk_ioctl(inode->i_bdev, cmd, param);
}
type = TYPE(device);
drive = DRIVE(device);
break;
case BLKBSZGET:
case BLKBSZSET:
- err = blk_ioctl(inode->i_rdev, cmd, arg);
+ err = blk_ioctl(inode->i_bdev, cmd, arg);
break;
default:
err = lo->ioctl ? lo->ioctl(lo, cmd, arg) : -EINVAL;
case BLKROGET:
case BLKFLSBUF:
case BLKPG:
- return blk_ioctl(inode->i_rdev, cmd, arg);
+ return blk_ioctl(inode->i_bdev, cmd, arg);
default:
return -EINVAL;
}
case BLKROSET:
case BLKROGET:
case BLKFLSBUF:
- return blk_ioctl(inode->i_rdev, cmd, arg);
+ return blk_ioctl(inode->i_bdev, cmd, arg);
default:
return -EINVAL;
}
case BLKBSZGET:
case BLKBSZSET:
case BLKPG:
- return blk_ioctl(inode->i_rdev, cmd, arg);
+ return blk_ioctl(inode->i_bdev, cmd, arg);
}
return (-EINVAL);
}
case BLKROSET:
case BLKROGET:
case BLKSSZGET:
- error = blk_ioctl(inode->i_rdev, cmd, arg);
+ error = blk_ioctl(inode->i_bdev, cmd, arg);
};
out:
return error;
case BLKROSET:
case BLKROGET:
case BLKPG:
- return blk_ioctl(inode->i_rdev, cmd, arg);
+ return blk_ioctl(inode->i_bdev, cmd, arg);
default:
return -EINVAL;
case BLKROGET:
case BLKFLSBUF:
case BLKSSZGET:
- return blk_ioctl(ip->i_rdev, cmd, arg);
+ return blk_ioctl(ip->i_bdev, cmd, arg);
case CDROMSUBCHNL: {
struct cdrom_subchnl q;
u_char requested, back;
case BLKROGET:
case BLKFLSBUF:
case BLKPG:
- return blk_ioctl(inode->i_rdev, cmd, arg);
+ return blk_ioctl(inode->i_bdev, cmd, arg);
default:
return -EINVAL;
case BLKROSET:
case BLKROGET:
case BLKSSZGET:
- return blk_ioctl(inode->i_rdev, cmd, arg);
+ return blk_ioctl(inode->i_bdev, cmd, arg);
default:
return -EINVAL;
case BLKELVSET:
case BLKBSZGET:
case BLKBSZSET:
- return blk_ioctl(inode->i_rdev, cmd, arg);
+ return blk_ioctl(inode->i_bdev, cmd, arg);
/*
* uniform packet command handling
case BLKROSET:
case BLKROGET:
case BLKSSZGET:
- return blk_ioctl(inode->i_rdev, cmd, arg);
+ return blk_ioctl(inode->i_bdev, cmd, arg);
default:
printk("Invalid ioctl \n");
case BLKFLSBUF:
case BLKBSZGET:
case BLKBSZSET:
- err = blk_ioctl(dev, cmd, arg);
+ err = blk_ioctl(inode->i_bdev, cmd, arg);
goto abort;
default:;
case BLKROSET:
case BLKROGET:
case BLKPG:
- return blk_ioctl(inode->i_rdev, cmd, arg);
+ return blk_ioctl(inode->i_bdev, cmd, arg);
default:
return -EINVAL;
case BLKROSET:
case BLKROGET:
case BLKFLSBUF:
- ret = blk_ioctl(inode->i_rdev, cmd, arg);
+ ret = blk_ioctl(inode->i_bdev, cmd, arg);
break;
default:
ret = -EINVAL;
case BLKROSET:
case BLKROGET:
case BLKSSZGET:
- return blk_ioctl(inode->i_rdev, cmd, arg);
+ return blk_ioctl(inode->i_bdev, cmd, arg);
#endif
default:
rc = -EFAULT;
} else {
if ( bsz >= device->sizes.bp_block )
- rc = blk_ioctl (inp->i_rdev, no, data);
+ rc = blk_ioctl (inp->i_bdev, no, data);
else
rc = -EINVAL;
}
case BLKPG:
case BLKELVGET:
case BLKELVSET:
- return blk_ioctl (inp->i_rdev, no, data);
+ return blk_ioctl (inp->i_bdev, no, data);
break;
default:{
case BLKROSET:
case BLKROGET:
case BLKSSZGET:
- return blk_ioctl(inode->i_rdev, cmd, arg);
+ return blk_ioctl(inode->i_bdev, cmd, arg);
#endif
/* case BLKFLSBUF: */ /* Program, then read, what happens? Stale? */
case BLKELVSET:
case BLKBSZGET:
case BLKBSZSET:
- return blk_ioctl(inode->i_rdev, cmd, arg);
+ return blk_ioctl(inode->i_bdev, cmd, arg);
case BLKRRPART: /* Re-read partition tables */
if (!capable(CAP_SYS_ADMIN))
#ifdef __KERNEL__
extern char * partition_name(kdev_t dev);
-extern int blk_ioctl(kdev_t dev, unsigned int cmd, unsigned long arg);
+extern int blk_ioctl(struct block_device *bdev, unsigned int cmd, unsigned long arg);
#endif /* __KERNEL__ */