Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src Add support for compiling ZFS and Solaris modules as RUMP li...



details:   https://anonhg.NetBSD.org/src/rev/7a58ed362a7c
branches:  trunk
changeset: 761020:7a58ed362a7c
user:      haad <haad%NetBSD.org@localhost>
date:      Tue Jan 18 22:21:22 2011 +0000

description:
Add support for compiling ZFS and Solaris modules as RUMP libraries. Add
some locking and rumpcopy primitives and refactor module building Makefiles
to work with both RUMP and kernel modules. This is first part of adding
support for regular test of zfs on NetBSD to hunt some bugs and make it
stable.

Ok by pooka@.

diffstat:

 distrib/sets/lists/base/shl.mi             |    8 +-
 distrib/sets/lists/comp/mi                 |    6 +-
 distrib/sets/lists/comp/shl.mi             |    6 +-
 sys/modules/solaris/Makefile               |   91 +-------------------
 sys/modules/solaris/Makefile.solmod        |   90 +++++++++++++++++++
 sys/modules/zfs/Makefile                   |  132 +----------------------------
 sys/modules/zfs/Makefile.zfsmod            |  130 ++++++++++++++++++++++++++++
 sys/rump/fs/Makefile.rumpfscomp            |    7 +-
 sys/rump/fs/lib/libzfs/Makefile            |   17 +++
 sys/rump/fs/lib/libzfs/component.c         |  110 ++++++++++++++++++++++++
 sys/rump/fs/lib/libzfs/shlib_version       |    4 +
 sys/rump/kern/Makefile.rumpkerncomp        |    7 +-
 sys/rump/kern/lib/libsolaris/Makefile      |   18 +++
 sys/rump/kern/lib/libsolaris/component.c   |   54 +++++++++++
 sys/rump/kern/lib/libsolaris/shlib_version |    4 +
 sys/rump/librump/rumpkern/locks.c          |   19 +++-
 sys/rump/librump/rumpkern/rumpcopy.c       |   20 +++-
 sys/rump/librump/rumpkern/vm.c             |   18 +++-
 18 files changed, 511 insertions(+), 230 deletions(-)

diffs (truncated from 943 to 300 lines):

diff -r 2fff50f4c5f3 -r 7a58ed362a7c distrib/sets/lists/base/shl.mi
--- a/distrib/sets/lists/base/shl.mi    Tue Jan 18 21:45:28 2011 +0000
+++ b/distrib/sets/lists/base/shl.mi    Tue Jan 18 22:21:22 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.568 2011/01/18 20:09:38 pooka Exp $
+# $NetBSD: shl.mi,v 1.569 2011/01/18 22:21:22 haad Exp $
 #
 # Note:        Don't delete entries from here - mark them as "obsolete" instead,
 #      unless otherwise stated below.
@@ -534,12 +534,18 @@
 ./usr/lib/librumpfs_union.so                   base-rump-shlib
 ./usr/lib/librumpfs_union.so.0                 base-rump-shlib
 ./usr/lib/librumpfs_union.so.0.0               base-rump-shlib
+./usr/lib/librumpfs_zfs.so                     base-rump-shlib
+./usr/lib/librumpfs_zfs.so.0                   base-rump-shlib
+./usr/lib/librumpfs_zfs.so.0.0                 base-rump-shlib
 ./usr/lib/librumpkern_crypto.so                        base-rump-shlib
 ./usr/lib/librumpkern_crypto.so.0              base-rump-shlib
 ./usr/lib/librumpkern_crypto.so.0.0            base-rump-shlib
 ./usr/lib/librumpkern_ksem.so                  base-rump-shlib
 ./usr/lib/librumpkern_ksem.so.0                        base-rump-shlib
 ./usr/lib/librumpkern_ksem.so.0.0              base-rump-shlib
+./usr/lib/librumpkern_solaris.so               base-rump-shlib
+./usr/lib/librumpkern_solaris.so.0             base-rump-shlib
+./usr/lib/librumpkern_solaris.so.0.0           base-rump-shlib
 ./usr/lib/librumpkern_tty.so                   base-rump-shlib
 ./usr/lib/librumpkern_tty.so.0                 base-rump-shlib
 ./usr/lib/librumpkern_tty.so.0.0               base-rump-shlib
diff -r 2fff50f4c5f3 -r 7a58ed362a7c distrib/sets/lists/comp/mi
--- a/distrib/sets/lists/comp/mi        Tue Jan 18 21:45:28 2011 +0000
+++ b/distrib/sets/lists/comp/mi        Tue Jan 18 22:21:22 2011 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: mi,v 1.1570 2011/01/18 21:07:51 pooka Exp $
+#      $NetBSD: mi,v 1.1571 2011/01/18 22:21:22 haad Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -2784,12 +2784,16 @@
 ./usr/lib/librumpfs_union.a                    comp-c-lib
 ./usr/lib/librumpfs_union_g.a                  -unknown-               debuglib
 ./usr/lib/librumpfs_union_p.a                  comp-c-proflib          profile
+./usr/lib/librumpfs_zfs.a                      comp-c-lib
+./usr/lib/librumpfs_zfs_p.a                    comp-c-piclib           profile
 ./usr/lib/librumpkern_crypto.a                 comp-c-lib
 ./usr/lib/librumpkern_crypto_g.a                       -unknown-               debuglib
 ./usr/lib/librumpkern_crypto_p.a                       comp-c-proflib          profile
 ./usr/lib/librumpkern_ksem.a                   comp-c-lib
 ./usr/lib/librumpkern_ksem_g.a                 -unknown-               debuglib
 ./usr/lib/librumpkern_ksem_p.a                 comp-c-proflib          profile
+./usr/lib/librumpkern_solaris.a                        comp-c-lib
+./usr/lib/librumpkern_solaris_p.a              comp-c-proflib          profile
 ./usr/lib/librumpkern_tty.a                    comp-c-lib
 ./usr/lib/librumpkern_tty_g.a                  -unknown-               debuglib
 ./usr/lib/librumpkern_tty_p.a                  comp-c-proflib          profile
diff -r 2fff50f4c5f3 -r 7a58ed362a7c distrib/sets/lists/comp/shl.mi
--- a/distrib/sets/lists/comp/shl.mi    Tue Jan 18 21:45:28 2011 +0000
+++ b/distrib/sets/lists/comp/shl.mi    Tue Jan 18 22:21:22 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.150 2011/01/18 21:07:52 pooka Exp $
+# $NetBSD: shl.mi,v 1.151 2011/01/18 22:21:22 haad Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -147,8 +147,10 @@
 ./usr/lib/librumpfs_umap_pic.a                 comp-c-piclib
 ./usr/lib/librumpfs_umapfs_pic.a               comp-obsolete           obsolete
 ./usr/lib/librumpfs_union_pic.a                        comp-c-piclib
+./usr/lib/librumpfs_zfs_pic.a                  comp-c-piclib
 ./usr/lib/librumpkern_crypto_pic.a                     comp-c-piclib
 ./usr/lib/librumpkern_ksem_pic.a               comp-c-piclib
+./usr/lib/librumpkern_solaris_pic.a            comp-c-piclib
 ./usr/lib/librumpkern_tty_pic.a                        comp-c-piclib
 ./usr/lib/librumpkern_z_pic.a                  comp-c-piclib
 ./usr/lib/librumpnet_agr_pic.a         comp-c-piclib
@@ -336,8 +338,10 @@
 ./usr/libdata/debug/usr/lib/librumpfs_udf.so.0.0.debug comp-rump-debug debug
 ./usr/libdata/debug/usr/lib/librumpfs_umap.so.0.0.debug        comp-rump-debug debug
 ./usr/libdata/debug/usr/lib/librumpfs_union.so.0.0.debug       comp-rump-debug debug
+./usr/libdata/debug/usr/lib/librumpfs_zfs.so.0.0.debug         comp-rump-debug debug
 ./usr/libdata/debug/usr/lib/librumpkern_crypto.so.0.0.debug    comp-rump-debug debug
 ./usr/libdata/debug/usr/lib/librumpkern_ksem.so.0.0.debug      comp-rump-debug debug
+./usr/libdata/debug/usr/lib/librumpkern_solaris.so.0.0.debug   comp-rump-debuf debug
 ./usr/libdata/debug/usr/lib/librumpkern_tty.so.0.0.debug       comp-rump-debug debug
 ./usr/libdata/debug/usr/lib/librumpkern_z.so.0.0.debug comp-rump-debug debug
 ./usr/libdata/debug/usr/lib/librumpnet.so.0.0.debug    comp-rump-debug debug
diff -r 2fff50f4c5f3 -r 7a58ed362a7c sys/modules/solaris/Makefile
--- a/sys/modules/solaris/Makefile      Tue Jan 18 21:45:28 2011 +0000
+++ b/sys/modules/solaris/Makefile      Tue Jan 18 22:21:22 2011 +0000
@@ -1,95 +1,8 @@
-#      $NetBSD: Makefile,v 1.4 2010/03/12 21:37:37 darran Exp $
+#      $NetBSD: Makefile,v 1.5 2011/01/18 22:21:22 haad Exp $
 
 .include "../Makefile.inc"
 
-CFLAGS+= -g -fno-inline
-
 KMOD=  solaris
 
-ZFSDIR=        ${S}/../external/cddl/osnet
-
-.PATH: ${ZFSDIR}/dist/common/avl
-
-SRCS=  avl.c
-
-.PATH: ${ZFSDIR}/dist/common/nvpair
-
-SRCS+= nvpair.c
-SRCS+= nvpair_alloc_fixed.c
-
-.PATH: ${ZFSDIR}/dist/common/unicode
-
-SRCS+= u8_textprep.c
-
-.PATH: ${ZFSDIR}/dist/uts/common/os
-
-SRCS+= fm.c
-SRCS+= list.c
-SRCS+= nvpair_alloc_system.c
-
-.PATH: ${ZFSDIR}/dist/uts/common/rpc
-
-SRCS+= xdr.c
-SRCS+= xdr_array.c
-SRCS+= xdr_mem.c
-
-.PATH: ${ZFSDIR}/dist/uts/common/zmod
-
-SRCS+= adler32.c
-SRCS+= crc32.c
-SRCS+= deflate.c
-SRCS+= inffast.c
-SRCS+= inflate.c
-SRCS+= inftrees.c
-SRCS+= trees.c
-SRCS+= zmod.c
-SRCS+= zmod_subr.c
-SRCS+= zutil.c
-
-.PATH:  ${ZFSDIR}/dist/common/acl
-
-SRCS+= acl_common.c
-
-.PATH: ${ZFSDIR}/sys/kern
-
-SRCS+= kobj.c
-SRCS+= kstat.c
-SRCS+= misc.c
-SRCS+= policy.c
-SRCS+= string.c
-SRCS+= zone.c
-SRCS+= callb.c
-SRCS+= ddi.c
-SRCS+= mod.c
-SRCS+= printf.c
-SRCS+= taskq.c
-SRCS+= vfs.c
-SRCS+= opensolaris.c
-
-WARNS=         0
-NOGCCERROR=    yes
-
-CWARNFLAGS+=   -Wall
-CWARNFLAGS+=   -Wno-unknown-pragmas
-CWARNFLAGS+=   -Wno-missing-braces
-CWARNFLAGS+=   -Wno-parentheses
-CWARNFLAGS+=   -Wno-uninitialized
-CWARNFLAGS+=   -Wno-unused
-CWARNFLAGS+=   -Wno-switch
-CWARNFLAGS+=   -Wno-strict-prototypes
-CWARNFLAGS+=   -Wno-missing-prototypes
-CWARNFLAGS+=   -Wno-format
-
-CPPFLAGS+=     -I${ZFSDIR}/sys
-CPPFLAGS+=     -I${ZFSDIR}/dist/common/acl
-CPPFLAGS+=     -I${ZFSDIR}/dist/uts/common/zmod
-CPPFLAGS+=     -I${ZFSDIR}/dist/uts/common
-CPPFLAGS+=      -I${ZFSDIR}/sys/sys
-
-CPPFLAGS+=     -Dcaddr_t=__caddr_t "-D__va_list=va_list"
-CPPFLAGS+=     -std=c99
-# CPPFLAGS+=   -D_NFS_NFS_H_
-# CPPFLAGS+=   -D_PROPLIB_ZFS_CONFLICT
-
-CFLAGS+=       -g -O0 -DDIAGNOSTIC
+.include "Makefile.solmod"
 .include <bsd.kmodule.mk>
diff -r 2fff50f4c5f3 -r 7a58ed362a7c sys/modules/solaris/Makefile.solmod
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/modules/solaris/Makefile.solmod       Tue Jan 18 22:21:22 2011 +0000
@@ -0,0 +1,90 @@
+#      $NetBSD: Makefile.solmod,v 1.1 2011/01/18 22:21:22 haad Exp $
+
+CFLAGS+= -g -fno-inline
+
+ZFSDIR=        ${S}/../external/cddl/osnet
+
+.PATH: ${ZFSDIR}/dist/common/avl
+
+SRCS=  avl.c
+
+.PATH: ${ZFSDIR}/dist/common/nvpair
+
+SRCS+= nvpair.c
+SRCS+= nvpair_alloc_fixed.c
+
+.PATH: ${ZFSDIR}/dist/common/unicode
+
+SRCS+= u8_textprep.c
+
+.PATH: ${ZFSDIR}/dist/uts/common/os
+
+SRCS+= fm.c
+SRCS+= list.c
+SRCS+= nvpair_alloc_system.c
+
+.PATH: ${ZFSDIR}/dist/uts/common/rpc
+
+SRCS+= xdr.c
+SRCS+= xdr_array.c
+SRCS+= xdr_mem.c
+
+.PATH: ${ZFSDIR}/dist/uts/common/zmod
+
+SRCS+= adler32.c
+SRCS+= crc32.c
+SRCS+= deflate.c
+SRCS+= inffast.c
+SRCS+= inflate.c
+SRCS+= inftrees.c
+SRCS+= trees.c
+SRCS+= zmod.c
+SRCS+= zmod_subr.c
+SRCS+= zutil.c
+
+.PATH:  ${ZFSDIR}/dist/common/acl
+
+SRCS+= acl_common.c
+
+.PATH: ${ZFSDIR}/sys/kern
+
+SRCS+= kobj.c
+SRCS+= kstat.c
+SRCS+= misc.c
+SRCS+= policy.c
+SRCS+= string.c
+SRCS+= zone.c
+SRCS+= callb.c
+SRCS+= ddi.c
+SRCS+= mod.c
+SRCS+= printf.c
+SRCS+= taskq.c
+SRCS+= vfs.c
+SRCS+= opensolaris.c
+
+WARNS=         0
+NOGCCERROR=    yes
+
+CWARNFLAGS+=   -Wall
+CWARNFLAGS+=   -Wno-unknown-pragmas
+CWARNFLAGS+=   -Wno-missing-braces
+CWARNFLAGS+=   -Wno-parentheses
+CWARNFLAGS+=   -Wno-uninitialized
+CWARNFLAGS+=   -Wno-unused
+CWARNFLAGS+=   -Wno-switch
+CWARNFLAGS+=   -Wno-strict-prototypes
+CWARNFLAGS+=   -Wno-missing-prototypes
+CWARNFLAGS+=   -Wno-format
+
+CPPFLAGS+=     -I${ZFSDIR}/sys
+CPPFLAGS+=     -I${ZFSDIR}/dist/common/acl
+CPPFLAGS+=     -I${ZFSDIR}/dist/uts/common/zmod
+CPPFLAGS+=     -I${ZFSDIR}/dist/uts/common
+CPPFLAGS+=      -I${ZFSDIR}/sys/sys
+
+CPPFLAGS+=     -Dcaddr_t=__caddr_t "-D__va_list=va_list"
+CPPFLAGS+=     -std=c99
+# CPPFLAGS+=   -D_NFS_NFS_H_
+# CPPFLAGS+=   -D_PROPLIB_ZFS_CONFLICT
+
+CFLAGS+=       -g -O0 -DDIAGNOSTIC
\ No newline at end of file
diff -r 2fff50f4c5f3 -r 7a58ed362a7c sys/modules/zfs/Makefile
--- a/sys/modules/zfs/Makefile  Tue Jan 18 21:45:28 2011 +0000
+++ b/sys/modules/zfs/Makefile  Tue Jan 18 22:21:22 2011 +0000
@@ -1,136 +1,8 @@
-#      $NetBSD: Makefile,v 1.3 2010/02/28 15:22:16 haad Exp $
+#      $NetBSD: Makefile,v 1.4 2011/01/18 22:21:22 haad Exp $
 
 .include "../Makefile.inc"
 
 KMOD=  zfs
 
-ZFSDIR=        ${S}/../external/cddl/osnet
-
-.PATH: ${ZFSDIR}/dist/common/zfs
-
-SRCS+= zfs_comutil.c
-SRCS+= zfs_deleg.c
-SRCS+= zfs_fletcher.c
-SRCS+= zfs_namecheck.c



Home | Main Index | Thread Index | Old Index