From 1f30b9d432dd48826cd562757d19c2771b0973e8 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Wed, 10 Nov 2010 16:44:20 -0800 Subject: [PATCH] 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(). --- module/zpios/pios.c | 11 +++++------ 1 file 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