summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2010-11-10 16:44:20 -0800
committerBrian Behlendorf <[email protected]>2010-11-10 17:01:08 -0800
commit1f30b9d432dd48826cd562757d19c2771b0973e8 (patch)
treeaae172f6c43e14c6290bf2cf25dea23e6dbb8f1b
parent8326eb4605a3d7c87cac15d5d11316fb99cd9ab0 (diff)
Linux 2.6.36 compat, use fops->unlocked_ioctl()
As of linux-2.6.36 the last in-tree consumer of fops->ioctl() has been removed and thus fops()->ioctl() has also been removed. The replacement hook is fops->unlocked_ioctl() which has existed in kernel since 2.6.12. Since the ZFS code only contains support back to 2.6.18 vintage kernels, I'm not adding an autoconf check for this and simply moving everything to use fops->unlocked_ioctl().
-rw-r--r--module/zpios/pios.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/module/zpios/pios.c b/module/zpios/pios.c
index 3edc16105..6af200570 100644
--- a/module/zpios/pios.c
+++ b/module/zpios/pios.c
@@ -1104,11 +1104,10 @@ out_cmd:
return rc;
}
-static int
-zpios_ioctl(struct inode *inode, struct file *file,
- unsigned int cmd, unsigned long arg)
+static long
+zpios_unlocked_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
{
- unsigned int minor = iminor(inode);
+ unsigned int minor = iminor(file->f_dentry->d_inode);
int rc = 0;
/* Ignore tty ioctls */
@@ -1139,7 +1138,7 @@ zpios_ioctl(struct inode *inode, struct file *file,
static long
zpios_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
{
- return zpios_ioctl(file->f_dentry->d_inode, file, cmd, arg);
+ return zpios_unlocked_ioctl(file, cmd, arg);
}
#endif /* CONFIG_COMPAT */
@@ -1262,7 +1261,7 @@ static struct file_operations zpios_fops = {
.owner = THIS_MODULE,
.open = zpios_open,
.release = zpios_release,
- .ioctl = zpios_ioctl,
+ .unlocked_ioctl = zpios_unlocked_ioctl,
#ifdef CONFIG_COMPAT
.compat_ioctl = zpios_compat_ioctl,
#endif