svn commit: r247976 - projects/libzfs_core/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Martin Matuska
mm at FreeBSD.org
Thu Mar 7 23:45:17 UTC 2013
Author: mm
Date: Thu Mar 7 23:45:16 2013
New Revision: 247976
URL: http://svnweb.freebsd.org/changeset/base/247976
Log:
Comment out unfeasible illumos copyin code and restore previous behavior.
Modified:
projects/libzfs_core/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
Modified: projects/libzfs_core/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
==============================================================================
--- projects/libzfs_core/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Thu Mar 7 23:44:35 2013 (r247975)
+++ projects/libzfs_core/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Thu Mar 7 23:45:16 2013 (r247976)
@@ -5853,6 +5853,7 @@ zfsdev_ioctl(struct cdev *dev, u_long zc
return (EINVAL);
vec = &zfs_ioc_vec[vecnum];
+#ifdef illumos
zc = kmem_zalloc(sizeof(zfs_cmd_t), KM_SLEEP);
bzero(zc, sizeof(zfs_cmd_t));
@@ -5861,11 +5862,15 @@ zfsdev_ioctl(struct cdev *dev, u_long zc
error = EFAULT;
goto out;
}
+#endif
if (cflag != ZFS_CMD_COMPAT_NONE) {
+ zc = kmem_zalloc(sizeof(zfs_cmd_t), KM_SLEEP);
+ bzero(zc, sizeof(zfs_cmd_t));
zfs_cmd_compat_get(zc, arg, cflag);
zfs_ioctl_compat_pre(zc, &vecnum, cflag);
- }
+ } else
+ zc = (void *)arg;
zc->zc_iflags = flag & FKIOCTL;
if (zc->zc_nvlist_src_size != 0) {
@@ -5983,9 +5988,12 @@ out:
if (cflag != ZFS_CMD_COMPAT_NONE) {
zfs_ioctl_compat_post(zc, cmd, cflag);
zfs_cmd_compat_put(zc, arg, cflag);
+ kmem_free(zc, sizeof (zfs_cmd_t));
}
+#ifdef illumos
kmem_free(zc, sizeof (zfs_cmd_t));
+#endif
return (error);
}
More information about the svn-src-projects
mailing list