X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=module%2Fzpios%2Fpios.c;h=aa1f2bbd3065b421d22a77d7bef6ea1f629ac126;hb=ff80d9b142826c15fa84e3c4b9ef1795fd6e9485;hp=3edc16105fc02cb21e22d45fa822c69a256732bd;hpb=6283f55ea1b91e680386388c17d14b89e344fa8d;p=zfs.git diff --git a/module/zpios/pios.c b/module/zpios/pios.c index 3edc161..aa1f2bb 100644 --- a/module/zpios/pios.c +++ b/module/zpios/pios.c @@ -92,7 +92,7 @@ int zpios_upcall(char *path, char *phase, run_args_t *run_args, int rc) envp[2] = "PATH=/sbin:/usr/sbin:/bin:/usr/bin"; envp[3] = NULL; - return call_usermodehelper(path, argv, envp, 1); + return call_usermodehelper(path, argv, envp, UMH_WAIT_PROC); } static uint64_t @@ -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