Module Name:    src
Committed By:   haad
Date:           Wed May 19 18:01:26 UTC 2010

Modified Files:
        src/external/cddl/osnet/dist/uts/common/fs/zfs: zfs_ioctl.c
        src/external/cddl/osnet/sys/sys: sunddi.h

Log Message:
Use ddi_copyin and ddi_copyout as solaris does, change them to
ioctl_copyin/ioctl_copyout in kernel and to bcopy in user space.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \
    src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c
cvs rdiff -u -r1.3 -r1.4 src/external/cddl/osnet/sys/sys/sunddi.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c:1.5 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c:1.6
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c:1.5	Wed May 19 17:57:42 2010
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c	Wed May 19 18:01:26 2010
@@ -4454,16 +4454,8 @@
 
 	zc = kmem_zalloc(sizeof (zfs_cmd_t), KM_SLEEP);
 
-	/* XXX is this still needed ? */
-	error = xcopyin((void *)arg, zc, sizeof (zfs_cmd_t));
-	printf("zfsdev_ioct zc_value %s, zc_string\n", zc->zc_value, zc->zc_string);
-	printf("zfsdev_ioctl -> calling zfs_ioc_vec secpolicy function on %d\n", vec);
-	if (error == 0)
-#if 0	
 	error = ddi_copyin((void *)arg, zc, sizeof (zfs_cmd_t), flag);
-
 	if ((error == 0) && !(flag & FKIOCTL))
-#endif
 		error = zfs_ioc_vec[vec].zvec_secpolicy(zc, cr);
 
 	/*

Index: src/external/cddl/osnet/sys/sys/sunddi.h
diff -u src/external/cddl/osnet/sys/sys/sunddi.h:1.3 src/external/cddl/osnet/sys/sys/sunddi.h:1.4
--- src/external/cddl/osnet/sys/sys/sunddi.h:1.3	Sun Feb 21 01:46:36 2010
+++ src/external/cddl/osnet/sys/sys/sunddi.h	Wed May 19 18:01:26 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: sunddi.h,v 1.3 2010/02/21 01:46:36 darran Exp $	*/
+/*	$NetBSD: sunddi.h,v 1.4 2010/05/19 18:01:26 haad Exp $	*/
 
 /*-
  * Copyright (c) 2007 Pawel Jakub Dawidek <p...@freebsd.org>
@@ -31,8 +31,13 @@
 #ifndef _OPENSOLARIS_SYS_SUNDDI_H_
 #define	_OPENSOLARIS_SYS_SUNDDI_H_
 
+#ifndef _KERNEL
 #define	ddi_copyin(from, to, size, flag)	(bcopy((from), (to), (size)), 0)
 #define	ddi_copyout(from, to, size, flag)	(bcopy((from), (to), (size)), 0)
+#else
+#define	ddi_copyin(from, to, size, flag)	(ioctl_copyin((flag), (from), (to), (size)))
+#define	ddi_copyout(from, to, size, flag)	(ioctl_copyout((flag), (from), (to), (size)))
+#endif
 int ddi_strtoul(const char *str, char **nptr, int base, unsigned long *result);
 
 #endif	/* _OPENSOLARIS_SYS_SUNDDI_H_ */

Reply via email to