/*
* Common ioctl's for block devices
*/
-extern int block_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;
kdev_t dev = to_kdev_t(bdev->bd_dev);
int holder;
- intval = block_ioctl(dev, cmd, arg);
+ intval = block_ioctl(bdev, cmd, arg);
if (intval != -ENOTTY)
return intval;
return err;
}
-int block_ioctl(kdev_t dev, unsigned int cmd, unsigned long arg)
+int block_ioctl(struct block_device *bdev, unsigned int cmd, unsigned long arg)
{
request_queue_t *q;
struct request *rq;
int close = 0, err;
- q = blk_get_queue(dev);
+ q = blk_get_queue(to_kdev_t(bdev->bd_dev));
if (!q)
return -ENXIO;
*/
case CDROMEJECT:
case CDROMCLOSETRAY:
- return block_ioctl(inode->i_rdev, cmd, arg);
+ return block_ioctl(inode->i_bdev, cmd, arg);
case HDIO_GET_BUSSTATE:
if (!capable(CAP_SYS_ADMIN))
extern void blk_recount_segments(request_queue_t *, struct bio *);
extern inline int blk_phys_contig_segment(request_queue_t *q, struct bio *, struct bio *);
extern inline int blk_hw_contig_segment(request_queue_t *q, struct bio *, struct bio *);
-extern int block_ioctl(kdev_t, unsigned int, unsigned long);
+extern int block_ioctl(struct block_device *, unsigned int, unsigned long);
extern int ll_10byte_cmd_build(request_queue_t *, struct request *);
/*