|
@@ -575,9 +575,9 @@ static void i2o_block_biosparam(unsigned long capacity, unsigned short *cyls,
|
|
*
|
|
*
|
|
* Returns 0 on success or negative error code on failure.
|
|
* Returns 0 on success or negative error code on failure.
|
|
*/
|
|
*/
|
|
-static int i2o_block_open(struct inode *inode, struct file *file)
|
|
|
|
|
|
+static int i2o_block_open(struct block_device *bdev, fmode_t mode)
|
|
{
|
|
{
|
|
- struct i2o_block_device *dev = inode->i_bdev->bd_disk->private_data;
|
|
|
|
|
|
+ struct i2o_block_device *dev = bdev->bd_disk->private_data;
|
|
|
|
|
|
if (!dev->i2o_dev)
|
|
if (!dev->i2o_dev)
|
|
return -ENODEV;
|
|
return -ENODEV;
|
|
@@ -604,9 +604,8 @@ static int i2o_block_open(struct inode *inode, struct file *file)
|
|
*
|
|
*
|
|
* Returns 0 on success or negative error code on failure.
|
|
* Returns 0 on success or negative error code on failure.
|
|
*/
|
|
*/
|
|
-static int i2o_block_release(struct inode *inode, struct file *file)
|
|
|
|
|
|
+static int i2o_block_release(struct gendisk *disk, fmode_t mode)
|
|
{
|
|
{
|
|
- struct gendisk *disk = inode->i_bdev->bd_disk;
|
|
|
|
struct i2o_block_device *dev = disk->private_data;
|
|
struct i2o_block_device *dev = disk->private_data;
|
|
u8 operation;
|
|
u8 operation;
|
|
|
|
|
|
@@ -653,10 +652,10 @@ static int i2o_block_getgeo(struct block_device *bdev, struct hd_geometry *geo)
|
|
*
|
|
*
|
|
* Return 0 on success or negative error on failure.
|
|
* Return 0 on success or negative error on failure.
|
|
*/
|
|
*/
|
|
-static int i2o_block_ioctl(struct inode *inode, struct file *file,
|
|
|
|
|
|
+static int i2o_block_ioctl(struct block_device *bdev, fmode_t mode,
|
|
unsigned int cmd, unsigned long arg)
|
|
unsigned int cmd, unsigned long arg)
|
|
{
|
|
{
|
|
- struct gendisk *disk = inode->i_bdev->bd_disk;
|
|
|
|
|
|
+ struct gendisk *disk = bdev->bd_disk;
|
|
struct i2o_block_device *dev = disk->private_data;
|
|
struct i2o_block_device *dev = disk->private_data;
|
|
|
|
|
|
/* Anyone capable of this syscall can do *real bad* things */
|
|
/* Anyone capable of this syscall can do *real bad* things */
|
|
@@ -931,9 +930,9 @@ static void i2o_block_request_fn(struct request_queue *q)
|
|
/* I2O Block device operations definition */
|
|
/* I2O Block device operations definition */
|
|
static struct block_device_operations i2o_block_fops = {
|
|
static struct block_device_operations i2o_block_fops = {
|
|
.owner = THIS_MODULE,
|
|
.owner = THIS_MODULE,
|
|
- .__open = i2o_block_open,
|
|
|
|
- .__release = i2o_block_release,
|
|
|
|
- .__ioctl = i2o_block_ioctl,
|
|
|
|
|
|
+ .open = i2o_block_open,
|
|
|
|
+ .release = i2o_block_release,
|
|
|
|
+ .locked_ioctl = i2o_block_ioctl,
|
|
.getgeo = i2o_block_getgeo,
|
|
.getgeo = i2o_block_getgeo,
|
|
.media_changed = i2o_block_media_changed
|
|
.media_changed = i2o_block_media_changed
|
|
};
|
|
};
|