From dd50143ea1df2efc583755ddc74dfb1967be92c7 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Fri, 9 Jan 2009 11:21:59 -0800 Subject: [PATCH 1/2] Add module load/unload entry point hooks and ioctl integration --- module/zfs/zfs_ioctl.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/module/zfs/zfs_ioctl.c b/module/zfs/zfs_ioctl.c index b77ee4da38..b10033fd15 100644 --- a/module/zfs/zfs_ioctl.c +++ b/module/zfs/zfs_ioctl.c @@ -3101,15 +3101,27 @@ static struct dev_ops zfs_dev_ops = { }; static struct modldrv zfs_modldrv = { +#ifdef HAVE_SPL + NULL, +#else &mod_driverops, +#endif /* HAVE_SPL */ "ZFS storage pool", &zfs_dev_ops }; static struct modlinkage modlinkage = { MODREV_1, +#ifdef HAVE_ZPL (void *)&zfs_modlfs, +#else + NULL, +#endif /* HAVE_ZPL */ (void *)&zfs_modldrv, +#ifdef HAVE_SPL + ZFS_MAJOR, + ZFS_MINORS, +#endif /* HAVE_SPL */ NULL }; @@ -3172,8 +3184,17 @@ _fini(void) return (error); } +#ifdef HAVE_SPL +module_init(_init); +module_exit(_fini); + +MODULE_AUTHOR("Sun Microsystems, Inc"); +MODULE_DESCRIPTION("ZFS"); +MODULE_LICENSE("CDDL"); +#else int _info(struct modinfo *modinfop) { return (mod_info(&modlinkage, modinfop)); } +#endif /* HAVE_SPL */ From d7f4512ed31857498b8bcf58a23bf588b7fca198 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Fri, 9 Jan 2009 11:29:00 -0800 Subject: [PATCH 2/2] Quiet warnings for now --- config/kernel.m4 | 31 +++++++++---------------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/config/kernel.m4 b/config/kernel.m4 index df62b2f258..708957e35a 100644 --- a/config/kernel.m4 +++ b/config/kernel.m4 @@ -6,37 +6,24 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [ dnl # KERNELMAKE_PARAMS="V=1" # Enable verbose module build KERNELMAKE_PARAMS= - dnl # Kernel build cpp flags + # FIXME: Quiet warnings not covered by the gcc-* patches. We should + # FIXME: consider removing this as soon as we reasonably can + KERNELCPPFLAGS="$KERNELCPPFLAGS -Wall -Wstrict-prototypes -Werror " + KERNELCPPFLAGS="$KERNELCPPFLAGS -Wno-switch -Wno-unused -Wno-missing-braces " + KERNELCPPFLAGS="$KERNELCPPFLAGS -Wno-unknown-pragmas -Wno-parentheses " + KERNELCPPFLAGS="$KERNELCPPFLAGS -Wno-uninitialized -fno-strict-aliasing " + KERNELCPPFLAGS="$KERNELCPPFLAGS -DHAVE_SPL -D_KERNEL " - KERNELCPPFLAGS="$KERNELCPPFLAGS -Wno-unknown-pragmas " + KERNELCPPFLAGS="$KERNELCPPFLAGS -DTEXT_DOMAIN=\\\"zfs-linux-kernel\\\" " + KERNELCPPFLAGS="$KERNELCPPFLAGS -I$splsrc -I$splsrc/include -I$TOPDIR" - dnl # Required for pread() functionality an other GNU goodness - HOSTCFLAGS="$HOSTCFLAGS -ggdb -O2 -std=c99 " - HOSTCFLAGS="$HOSTCFLAGS -D_GNU_SOURCE -D__EXTENSIONS__ " - - dnl # XXX: Quiet warnings not covered by the gcc-* patches - dnl # XXX: Remove once all the warnings are resolved - HOSTCFLAGS="$HOSTCFLAGS -Wno-switch -Wno-unused -Wno-missing-braces " - HOSTCFLAGS="$HOSTCFLAGS -Wno-unknown-pragmas -Wno-parentheses " - HOSTCFLAGS="$HOSTCFLAGS -Wno-uninitialized -fno-strict-aliasing " - - dnl # Expected defines not covered by zfs_config.h or spl_config.h - HOSTCFLAGS="$HOSTCFLAGS -DHAVE_SPL -D_POSIX_PTHREAD_SEMANTICS " - HOSTCFLAGS="$HOSTCFLAGS -D_FILE_OFFSET_BITS=64 " - HOSTCFLAGS="$HOSTCFLAGS -D_LARGEFILE64_SOURCE -D_REENTRANT " - HOSTCFLAGS="$HOSTCFLAGS -DTEXT_DOMAIN=\\\"zfs-linux-kernel\\\" " - - dnl # Expected default include path - HOSTCFLAGS="$HOSTCFLAGS -I$TOPDIR " - if test "$kernelbuild" != "$kernelsrc"; then KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$kernelbuild" fi AC_SUBST(KERNELMAKE_PARAMS) AC_SUBST(KERNELCPPFLAGS) - AC_SUBST(HOSTCFLAGS) ZFS_AC_CONFIG_KERNEL_BIO_ARGS ])