提交 47844fad 编写于 作者: A Al Viro

[PATCH] switch cpqarray

Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 ef7822c2
...@@ -156,9 +156,9 @@ static int sendcmd( ...@@ -156,9 +156,9 @@ static int sendcmd(
unsigned int blkcnt, unsigned int blkcnt,
unsigned int log_unit ); unsigned int log_unit );
static int ida_open(struct inode *inode, struct file *filep); static int ida_open(struct block_device *bdev, fmode_t mode);
static int ida_release(struct inode *inode, struct file *filep); static int ida_release(struct gendisk *disk, fmode_t mode);
static int ida_ioctl(struct inode *inode, struct file *filep, unsigned int cmd, unsigned long arg); static int ida_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd, unsigned long arg);
static int ida_getgeo(struct block_device *bdev, struct hd_geometry *geo); static int ida_getgeo(struct block_device *bdev, struct hd_geometry *geo);
static int ida_ctlr_ioctl(ctlr_info_t *h, int dsk, ida_ioctl_t *io); static int ida_ctlr_ioctl(ctlr_info_t *h, int dsk, ida_ioctl_t *io);
...@@ -195,9 +195,9 @@ static inline ctlr_info_t *get_host(struct gendisk *disk) ...@@ -195,9 +195,9 @@ static inline ctlr_info_t *get_host(struct gendisk *disk)
static struct block_device_operations ida_fops = { static struct block_device_operations ida_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.__open = ida_open, .open = ida_open,
.__release = ida_release, .release = ida_release,
.__ioctl = ida_ioctl, .locked_ioctl = ida_ioctl,
.getgeo = ida_getgeo, .getgeo = ida_getgeo,
.revalidate_disk= ida_revalidate, .revalidate_disk= ida_revalidate,
}; };
...@@ -818,12 +818,12 @@ DBGINFO( ...@@ -818,12 +818,12 @@ DBGINFO(
/* /*
* Open. Make sure the device is really there. * Open. Make sure the device is really there.
*/ */
static int ida_open(struct inode *inode, struct file *filep) static int ida_open(struct block_device *bdev, fmode_t mode)
{ {
drv_info_t *drv = get_drv(inode->i_bdev->bd_disk); drv_info_t *drv = get_drv(bdev->bd_disk);
ctlr_info_t *host = get_host(inode->i_bdev->bd_disk); ctlr_info_t *host = get_host(bdev->bd_disk);
DBGINFO(printk("ida_open %s\n", inode->i_bdev->bd_disk->disk_name)); DBGINFO(printk("ida_open %s\n", bdev->bd_disk->disk_name));
/* /*
* Root is allowed to open raw volume zero even if it's not configured * Root is allowed to open raw volume zero even if it's not configured
* so array config can still work. I don't think I really like this, * so array config can still work. I don't think I really like this,
...@@ -843,9 +843,9 @@ static int ida_open(struct inode *inode, struct file *filep) ...@@ -843,9 +843,9 @@ static int ida_open(struct inode *inode, struct file *filep)
/* /*
* Close. Sync first. * Close. Sync first.
*/ */
static int ida_release(struct inode *inode, struct file *filep) static int ida_release(struct gendisk *disk, fmode_t mode)
{ {
ctlr_info_t *host = get_host(inode->i_bdev->bd_disk); ctlr_info_t *host = get_host(disk);
host->usage_count--; host->usage_count--;
return 0; return 0;
} }
...@@ -1128,10 +1128,10 @@ static int ida_getgeo(struct block_device *bdev, struct hd_geometry *geo) ...@@ -1128,10 +1128,10 @@ static int ida_getgeo(struct block_device *bdev, struct hd_geometry *geo)
* ida_ioctl does some miscellaneous stuff like reporting drive geometry, * ida_ioctl does some miscellaneous stuff like reporting drive geometry,
* setting readahead and submitting commands from userspace to the controller. * setting readahead and submitting commands from userspace to the controller.
*/ */
static int ida_ioctl(struct inode *inode, struct file *filep, unsigned int cmd, unsigned long arg) static int ida_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd, unsigned long arg)
{ {
drv_info_t *drv = get_drv(inode->i_bdev->bd_disk); drv_info_t *drv = get_drv(bdev->bd_disk);
ctlr_info_t *host = get_host(inode->i_bdev->bd_disk); ctlr_info_t *host = get_host(bdev->bd_disk);
int error; int error;
ida_ioctl_t __user *io = (ida_ioctl_t __user *)arg; ida_ioctl_t __user *io = (ida_ioctl_t __user *)arg;
ida_ioctl_t *my_io; ida_ioctl_t *my_io;
...@@ -1165,7 +1165,7 @@ static int ida_ioctl(struct inode *inode, struct file *filep, unsigned int cmd, ...@@ -1165,7 +1165,7 @@ static int ida_ioctl(struct inode *inode, struct file *filep, unsigned int cmd,
put_user(host->ctlr_sig, (int __user *)arg); put_user(host->ctlr_sig, (int __user *)arg);
return 0; return 0;
case IDAREVALIDATEVOLS: case IDAREVALIDATEVOLS:
if (iminor(inode) != 0) if (MINOR(bdev->bd_dev) != 0)
return -ENXIO; return -ENXIO;
return revalidate_allvol(host); return revalidate_allvol(host);
case IDADRIVERVERSION: case IDADRIVERVERSION:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册