Skip to content
Permalink
Browse files

openzfs restructuring part

move platform specific module source files
and update makefiles accordingly

Signed-off-by: Matthew Macy <mmacy@FreeBSD.org>
  • Loading branch information...
mattmacy committed Aug 22, 2019
1 parent 64d0efb commit 408b0771663806a4a03c3f2a8054dcc5a18a1a39
Showing with 138 additions and 62 deletions.
  1. +1 −1 COPYRIGHT
  2. +31 −12 Makefile.am
  3. +4 −1 configure.ac
  4. +3 −4 copy-builtin
  5. 0 {module/zfs → include/sys}/qat.h
  6. +1 −0 lib/libzpool/Makefile.am
  7. +55 −18 module/Makefile.in
  8. +1 −0 module/os/Makefile.in
  9. +1 −0 module/os/linux/Makefile.in
  10. +1 −1 module/{ → os/linux}/spl/Makefile.in
  11. 0 module/{ → os/linux}/spl/README.md
  12. 0 module/{ → os/linux}/spl/THIRDPARTYLICENSE.gplv2
  13. 0 module/{ → os/linux}/spl/THIRDPARTYLICENSE.gplv2.descrip
  14. 0 module/{ → os/linux}/spl/spl-atomic.c
  15. 0 module/{ → os/linux}/spl/spl-condvar.c
  16. 0 module/{ → os/linux}/spl/spl-cred.c
  17. 0 module/{ → os/linux}/spl/spl-err.c
  18. 0 module/{ → os/linux}/spl/spl-generic.c
  19. 0 module/{ → os/linux}/spl/spl-kmem-cache.c
  20. 0 module/{ → os/linux}/spl/spl-kmem.c
  21. 0 module/{ → os/linux}/spl/spl-kobj.c
  22. 0 module/{ → os/linux}/spl/spl-kstat.c
  23. 0 module/{ → os/linux}/spl/spl-proc.c
  24. 0 module/{ → os/linux}/spl/spl-procfs-list.c
  25. 0 module/{ → os/linux}/spl/spl-taskq.c
  26. 0 module/{ → os/linux}/spl/spl-thread.c
  27. 0 module/{ → os/linux}/spl/spl-tsd.c
  28. 0 module/{ → os/linux}/spl/spl-vmem.c
  29. 0 module/{ → os/linux}/spl/spl-vnode.c
  30. 0 module/{ → os/linux}/spl/spl-xdr.c
  31. 0 module/{ → os/linux}/spl/spl-zlib.c
  32. +31 −0 module/os/linux/zfs/Makefile.in
  33. 0 module/{ → os/linux}/zfs/abd.c
  34. 0 module/{ → os/linux}/zfs/policy.c
  35. 0 module/{ → os/linux}/zfs/qat.c
  36. 0 module/{ → os/linux}/zfs/qat_compress.c
  37. 0 module/{ → os/linux}/zfs/qat_crypt.c
  38. 0 module/{ → os/linux}/zfs/spa_stats.c
  39. 0 module/{ → os/linux}/zfs/vdev_disk.c
  40. 0 module/{ → os/linux}/zfs/vdev_file.c
  41. 0 module/{ → os/linux}/zfs/zfs_acl.c
  42. 0 module/{ → os/linux}/zfs/zfs_ctldir.c
  43. 0 module/{ → os/linux}/zfs/zfs_debug.c
  44. 0 module/{ → os/linux}/zfs/zfs_dir.c
  45. 0 module/{ → os/linux}/zfs/zfs_sysfs.c
  46. 0 module/{ → os/linux}/zfs/zfs_vfsops.c
  47. 0 module/{ → os/linux}/zfs/zfs_vnops.c
  48. 0 module/{ → os/linux}/zfs/zfs_znode.c
  49. +1 −1 module/{ → os/linux}/zfs/zio_crypt.c
  50. 0 module/{ → os/linux}/zfs/zpl_ctldir.c
  51. 0 module/{ → os/linux}/zfs/zpl_export.c
  52. 0 module/{ → os/linux}/zfs/zpl_file.c
  53. 0 module/{ → os/linux}/zfs/zpl_inode.c
  54. 0 module/{ → os/linux}/zfs/zpl_super.c
  55. 0 module/{ → os/linux}/zfs/zpl_xattr.c
  56. +0 −18 module/zfs/Makefile.in
  57. +1 −1 module/zfs/gzip.c
  58. +1 −1 module/zfs/sha256.c
  59. +3 −1 module/zfs/spa_misc.c
  60. +1 −1 scripts/Makefile.am
  61. +2 −2 scripts/dkms.mkconf
@@ -19,7 +19,7 @@ notable exceptions and their respective licenses include:
* AES Implementation: module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.gladman
* AES Implementation: module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.openssl
* PBKDF2 Implementation: lib/libzfs/THIRDPARTYLICENSE.openssl
* SPL Implementation: module/spl/THIRDPARTYLICENSE.gplv2
* SPL Implementation: module/os/linux/spl/THIRDPARTYLICENSE.gplv2

This product includes software developed by the OpenSSL Project for use
in the OpenSSL Toolkit (http://www.openssl.org/)
@@ -4,19 +4,28 @@ include config/rpm.am
include config/deb.am
include config/tgz.am

SUBDIRS = include rpm
SUBDIRS = include
if BUILD_LINUX
SUBDIRS += rpm
endif

if CONFIG_USER
SUBDIRS += udev etc man scripts lib tests cmd contrib
SUBDIRS += etc man scripts lib tests cmd contrib
if BUILD_LINUX
SUBDIRS += udev
endif
endif
if CONFIG_KERNEL
SUBDIRS += module

extradir = $(prefix)/src/zfs-$(VERSION)
extra_HEADERS = zfs.release.in zfs_config.h.in

if BUILD_LINUX
kerneldir = $(prefix)/src/zfs-$(VERSION)/$(LINUX_VERSION)
nodist_kernel_HEADERS = zfs.release zfs_config.h module/$(LINUX_SYMBOLS)
endif
endif

AUTOMAKE_OPTIONS = foreign
EXTRA_DIST = autogen.sh copy-builtin
@@ -31,8 +40,8 @@ EXTRA_DIST += module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.gladman
EXTRA_DIST += module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.gladman.descrip
EXTRA_DIST += module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.openssl
EXTRA_DIST += module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.openssl.descrip
EXTRA_DIST += module/spl/THIRDPARTYLICENSE.gplv2
EXTRA_DIST += module/spl/THIRDPARTYLICENSE.gplv2.descrip
EXTRA_DIST += module/os/linux/spl/THIRDPARTYLICENSE.gplv2
EXTRA_DIST += module/os/linux/spl/THIRDPARTYLICENSE.gplv2.descrip
EXTRA_DIST += module/zfs/THIRDPARTYLICENSE.cityhash
EXTRA_DIST += module/zfs/THIRDPARTYLICENSE.cityhash.descrip

@@ -62,9 +71,10 @@ all-local:

dist-hook: gitrev
cp ${top_srcdir}/include/zfs_gitrev.h $(distdir)/include; \
sed -i 's/Release:[[:print:]]*/Release: $(RELEASE)/' \
sed ${ac_inplace} -e 's/Release:[[:print:]]*/Release: $(RELEASE)/' \
$(distdir)/META

if BUILD_LINUX
# For compatibility, create a matching spl-x.y.z directly which contains
# symlinks to the updated header and object file locations. These
# compatibility links will be removed in the next major release.
@@ -81,6 +91,7 @@ install-data-hook:
ln -fs zfs_config.h spl_config.h && \
ln -fs zfs.release spl.release
endif
endif

codecheck: cstyle shellcheck flake8 mancheck testscheck vcscheck

@@ -96,12 +107,14 @@ cstyle:
! -name '*.mod.c' -type f \
-exec ${top_srcdir}/scripts/cstyle.pl -cpP {} \+

filter_executable = -exec test -x '{}' \; -print

shellcheck:
@if type shellcheck > /dev/null 2>&1; then \
shellcheck --exclude=SC1090 --format=gcc \
shellcheck --exclude=SC1090 --exclude=SC1117 --format=gcc \
$$(find ${top_srcdir}/scripts/*.sh -type f) \
$$(find ${top_srcdir}/cmd/zed/zed.d/*.sh -type f) \
$$(find ${top_srcdir}/cmd/zpool/zpool.d/* -executable); \
$$(find ${top_srcdir}/cmd/zpool/zpool.d/* -type f ${filter_executable}); \
else \
echo "skipping shellcheck because shellcheck is not installed"; \
fi
@@ -116,13 +129,19 @@ mancheck:
echo "skipping mancheck because mandoc is not installed"; \
fi

if BUILD_LINUX
stat_fmt = -c '%A %n'
else
stat_fmt = -f '%Sp %N'
endif

testscheck:
@find ${top_srcdir}/tests/zfs-tests -type f \
\( -name '*.ksh' -not -executable \) -o \
\( -name '*.kshlib' -executable \) -o \
\( -name '*.shlib' -executable \) -o \
\( -name '*.cfg' -executable \) | \
xargs -r stat -c '%A %n' | \
\( -name '*.ksh' -not ${filter_executable} \) -o \
\( -name '*.kshlib' ${filter_executable} \) -o \
\( -name '*.shlib' ${filter_executable} \) -o \
\( -name '*.cfg' ${filter_executable} \) | \
xargs -r stat ${stat_fmt} | \
awk '{c++; print} END {if(c>0) exit 1}'

vcscheck:
@@ -139,12 +139,15 @@ AC_CONFIG_FILES([
module/Makefile
module/avl/Makefile
module/nvpair/Makefile
module/os/Makefile
module/os/linux/Makefile
module/os/linux/spl/Makefile
module/os/linux/zfs/Makefile
module/unicode/Makefile
module/zcommon/Makefile
module/zfs/Makefile
module/lua/Makefile
module/icp/Makefile
module/spl/Makefile
include/Makefile
include/linux/Makefile
include/os/Makefile
@@ -12,12 +12,11 @@ usage()
KERNEL_DIR="$(readlink --canonicalize-existing "$1")"

MODULES=()
MODULES+="spl"
for MODULE_DIR in module/*
for MODULE_DIR in module/* module/os/linux/*
do
[ -d "$MODULE_DIR" ] || continue
[ "spl" = "${MODULE_DIR##*/}" ] && continue
MODULES+=("${MODULE_DIR##*/}")
[ "os" = "${MODULE_DIR#*/}" ] && continue
MODULES+=("${MODULE_DIR#*/}")
done

if ! [ -e 'zfs_config.h' ]
File renamed without changes.
@@ -4,6 +4,7 @@ VPATH = \
$(top_srcdir)/module/zfs \
$(top_srcdir)/module/zcommon \
$(top_srcdir)/module/lua \
$(top_srcdir)/module/os/linux/zfs \
$(top_srcdir)/lib/libzpool

# Suppress unused but set variable warnings often due to ASSERTs
@@ -2,21 +2,20 @@ obj-m += avl/
obj-m += icp/
obj-m += lua/
obj-m += nvpair/
obj-m += spl/
obj-m += os/linux/spl/
obj-m += unicode/
obj-m += zcommon/
obj-m += zfs/
obj-m += os/linux/zfs/

INSTALL_MOD_DIR ?= extra

ZFS_MODULE_CFLAGS += -std=gnu99 -Wno-declaration-after-statement
ZFS_MODULE_CFLAGS += @KERNEL_DEBUG_CFLAGS@
ZFS_MODULE_CFLAGS += -include @abs_top_builddir@/zfs_config.h
ZFS_MODULE_CFLAGS += -I@abs_top_srcdir@/include/spl
ZFS_MODULE_CFLAGS += -I@abs_top_srcdir@/include/os/linux/spl
ZFS_MODULE_CFLAGS += -I@abs_top_srcdir@/include/os/linux/zfs
@BUILD_LINUX_TRUE@ZFS_MODULE_CFLAGS += -I@abs_top_srcdir@/include/os/linux/spl
@BUILD_LINUX_TRUE@ZFS_MODULE_CFLAGS += -I@abs_top_srcdir@/include/os/linux/zfs
ZFS_MODULE_CFLAGS += -I@abs_top_srcdir@/include

ZFS_MODULE_CPPFLAGS += -D_KERNEL
ZFS_MODULE_CPPFLAGS += @KERNEL_DEBUG_CPPFLAGS@

@@ -27,25 +26,38 @@ export ZFS_MODULE_CFLAGS ZFS_MODULE_CPPFLAGS

SUBDIR_TARGETS = icp lua

modules:
all: modules
distclean maintainer-clean: clean
install: modules_install
uninstall: modules_uninstall
check:

modules-Linux:
list='$(SUBDIR_TARGETS)'; for targetdir in $$list; do \
$(MAKE) -C $$targetdir; \
done
$(MAKE) -C @LINUX_OBJ@ M=`pwd` @KERNEL_MAKE@ CONFIG_ZFS=m $@
$(MAKE) -C @LINUX_OBJ@ M=`pwd` @KERNEL_MAKE@ CONFIG_ZFS=m modules

modules-unknown:
@true

modules: modules-@ac_system@

clean:
clean-Linux:
@# Only cleanup the kernel build directories when CONFIG_KERNEL
@# is defined. This indicates that kernel modules should be built.
@CONFIG_KERNEL_TRUE@ $(MAKE) -C @LINUX_OBJ@ M=`pwd` @KERNEL_MAKE@ $@
@CONFIG_KERNEL_TRUE@ $(MAKE) -C @LINUX_OBJ@ M=`pwd` @KERNEL_MAKE@ clean

if [ -f @LINUX_SYMBOLS@ ]; then $(RM) @LINUX_SYMBOLS@; fi
if [ -f Module.markers ]; then $(RM) Module.markers; fi

find . -name '*.ur-safe' -type f -print | xargs $(RM)

modules_install:
clean: clean-@ac_system@

modules_install-Linux:
@# Install the kernel modules
$(MAKE) -C @LINUX_OBJ@ M=`pwd` $@ \
$(MAKE) -C @LINUX_OBJ@ M=`pwd` modules_install \
INSTALL_MOD_PATH=$(DESTDIR)$(INSTALL_MOD_PATH) \
INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) \
KERNELRELEASE=@LINUX_VERSION@
@@ -59,22 +71,47 @@ modules_install:
depmod -ae -F $$sysmap @LINUX_VERSION@; \
fi

modules_uninstall:
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique

GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-recursive

cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files

modules_install: modules_install-@ac_system@

modules_uninstall-Linux:
@# Uninstall the kernel modules
kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@
list='$(obj-m)'; for objdir in $$list; do \
$(RM) -R $$kmoddir/$(INSTALL_MOD_DIR)/$$objdir; \
done

modules_uninstall: modules_uninstall-@ac_system@

distdir:
list='$(obj-m)'; for objdir in $$list; do \
(cd @top_srcdir@/module && find $$objdir \
-name '*.c' -o -name '*.h' -o -name '*.S' | \
xargs cp --parents -t @abs_top_builddir@/module/$$distdir); \
done

distclean maintainer-clean: clean
install: modules_install
uninstall: modules_uninstall
all: modules
check:
@@ -0,0 +1 @@
subdirs-m = linux
@@ -0,0 +1 @@
subdirs-m = spl zfs
@@ -1,4 +1,4 @@
src = @abs_top_srcdir@/module/spl
src = @abs_top_srcdir@/module/os/linux/spl
obj = @abs_builddir@

MODULE := spl
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,31 @@
# Suppress unused-value warnings in sparc64 architecture headers
ifeq ($(target_cpu),sparc64)
ccflags-y += -Wno-unused-value
endif

ccflags-y += -I@abs_top_srcdir@/module/os/linux/zfs

$(MODULE)-objs += ../os/linux/zfs/abd.o
$(MODULE)-objs += ../os/linux/zfs/policy.o
$(MODULE)-objs += ../os/linux/zfs/qat.o
$(MODULE)-objs += ../os/linux/zfs/qat_compress.o
$(MODULE)-objs += ../os/linux/zfs/qat_crypt.o
$(MODULE)-objs += ../os/linux/zfs/spa_stats.o
$(MODULE)-objs += ../os/linux/zfs/vdev_disk.o
$(MODULE)-objs += ../os/linux/zfs/vdev_file.o
$(MODULE)-objs += ../os/linux/zfs/zfs_acl.o
$(MODULE)-objs += ../os/linux/zfs/zfs_ctldir.o
$(MODULE)-objs += ../os/linux/zfs/zfs_debug.o
$(MODULE)-objs += ../os/linux/zfs/zfs_dir.o
$(MODULE)-objs += ../os/linux/zfs/zfs_sysfs.o
$(MODULE)-objs += ../os/linux/zfs/zfs_vfsops.o
$(MODULE)-objs += ../os/linux/zfs/zfs_vnops.o
$(MODULE)-objs += ../os/linux/zfs/zfs_znode.o
$(MODULE)-objs += ../os/linux/zfs/zio_crypt.o
$(MODULE)-objs += ../os/linux/zfs/zpl_ctldir.o
$(MODULE)-objs += ../os/linux/zfs/zpl_export.o
$(MODULE)-objs += ../os/linux/zfs/zpl_file.o
$(MODULE)-objs += ../os/linux/zfs/zpl_inode.o
$(MODULE)-objs += ../os/linux/zfs/zpl_super.o
$(MODULE)-objs += ../os/linux/zfs/zpl_xattr.o
$(MODULE)-objs += ../os/linux/zfs/zvol_os.o
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -26,7 +26,7 @@
#include <sys/zil.h>
#include <sys/sha2.h>
#include <sys/hkdf.h>
#include "qat.h"
#include <sys/qat.h>

/*
* This file is responsible for handling all of the details of generating
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit 408b077

Please sign in to comment.
You can’t perform that action at this time.