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 <[email protected]>
@@ -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_ */