mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 11:19:32 +03:00
0b04990a5d
A port of the Illumos Crypto Framework to a Linux kernel module (found in module/icp). This is needed to do the actual encryption work. We cannot use the Linux kernel's built in crypto api because it is only exported to GPL-licensed modules. Having the ICP also means the crypto code can run on any of the other kernels under OpenZFS. I ended up porting over most of the internals of the framework, which means that porting over other API calls (if we need them) should be fairly easy. Specifically, I have ported over the API functions related to encryption, digests, macs, and crypto templates. The ICP is able to use assembly-accelerated encryption on amd64 machines and AES-NI instructions on Intel chips that support it. There are place-holder directories for similar assembly optimizations for other architectures (although they have not been written). Signed-off-by: Tom Caputi <tcaputi@datto.com> Signed-off-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Issue #4329
97 lines
3.7 KiB
Bash
97 lines
3.7 KiB
Bash
export KERNELSRC=@LINUX@
|
|
export KERNELBUILD=@LINUX_OBJ@
|
|
export KERNELSRCVER=@LINUX_VERSION@
|
|
export KERNELMOD=/lib/modules/${KERNELSRCVER}/kernel
|
|
|
|
export SPLSRC=@SPL@
|
|
export SPLBUILD=@SPL_OBJ@
|
|
export SPLSRCVER=@SPL_VERSION@
|
|
|
|
export SRCDIR=@abs_top_srcdir@
|
|
export BUILDDIR=@abs_top_builddir@
|
|
export LIBDIR=${BUILDDIR}/lib
|
|
export CMDDIR=${BUILDDIR}/cmd
|
|
export MODDIR=${BUILDDIR}/module
|
|
export SCRIPTDIR=${BUILDDIR}/scripts
|
|
export ZPOOLDIR=${BUILDDIR}/scripts/zpool-config
|
|
export ZPIOSDIR=${BUILDDIR}/scripts/zpios-test
|
|
export ZPIOSPROFILEDIR=${BUILDDIR}/scripts/zpios-profile
|
|
export ETCDIR=${SRCDIR}/etc
|
|
export TESTSDIR=${SRCDIR}/tests
|
|
export RUNFILEDIR=${TESTSDIR}/runfiles
|
|
export UDEVRULEDIR=${BUILDDIR}/udev/rules.d
|
|
|
|
export ZDB=${CMDDIR}/zdb/zdb
|
|
export ZFS=${CMDDIR}/zfs/zfs
|
|
export ZHACK=${CMDDIR}/zhack/zhack
|
|
export ZINJECT=${CMDDIR}/zinject/zinject
|
|
export ZPOOL=${CMDDIR}/zpool/zpool
|
|
export ZTEST=${CMDDIR}/ztest/ztest
|
|
export ZPIOS=${CMDDIR}/zpios/zpios
|
|
export RAIDZ_TEST=${CMDDIR}/raidz_test/raidz_test
|
|
|
|
export COMMON_SH=${SCRIPTDIR}/common.sh
|
|
export ZFS_SH=${SCRIPTDIR}/zfs.sh
|
|
export ZPOOL_CREATE_SH=${SCRIPTDIR}/zpool-create.sh
|
|
export ZPIOS_SH=${SCRIPTDIR}/zpios.sh
|
|
export ZPIOS_SURVEY_SH=${SCRIPTDIR}/zpios-survey.sh
|
|
|
|
# Test Suite Specific Commands
|
|
export TEST_RUNNER=${TESTSDIR}/test-runner/cmd/test-runner.py
|
|
export STF_TOOLS=${TESTSDIR}/test-runner
|
|
export STF_SUITE=${TESTSDIR}/zfs-tests
|
|
|
|
export CHG_USR_EXEC=${TESTSDIR}/zfs-tests/cmd/chg_usr_exec/chg_usr_exec
|
|
export DEVNAME2DEVID=${TESTSDIR}/zfs-tests/cmd/devname2devid/devname2devid
|
|
export DIR_RD_UPDATE=${TESTSDIR}/zfs-tests/cmd/dir_rd_update/dir_rd_update
|
|
export FILE_CHECK=${TESTSDIR}/zfs-tests/cmd/file_check/file_check
|
|
export FILE_TRUNC=${TESTSDIR}/zfs-tests/cmd/file_trunc/file_trunc
|
|
export FILE_WRITE=${TESTSDIR}/zfs-tests/cmd/file_write/file_write
|
|
export LARGEST_FILE=${TESTSDIR}/zfs-tests/cmd/largest_file/largest_file
|
|
export MKBUSY=${TESTSDIR}/zfs-tests/cmd/mkbusy/mkbusy
|
|
export MKFILE=${TESTSDIR}/zfs-tests/cmd/mkfile/mkfile
|
|
export MKFILES=${TESTSDIR}/zfs-tests/cmd/mkfiles/mkfiles
|
|
export MKTREE=${TESTSDIR}/zfs-tests/cmd/mktree/mktree
|
|
export MMAP_EXEC=${TESTSDIR}/zfs-tests/cmd/mmap_exec/mmap_exec
|
|
export MMAPWRITE=${TESTSDIR}/zfs-tests/cmd/mmapwrite/mmapwrite
|
|
export RANDFREE_FILE=${TESTSDIR}/zfs-tests/cmd/randfree_file/randfree_file
|
|
export READMMAP=${TESTSDIR}/zfs-tests/cmd/readmmap/readmmap
|
|
export RENAME_DIR=${TESTSDIR}/zfs-tests/cmd/rename_dir/rename_dir
|
|
export RM_LNKCNT_ZERO_FILE=${TESTSDIR}/zfs-tests/cmd/rm_lnkcnt_zero_file/rm_lnkcnt_zero_file
|
|
export THREADSAPPEND=${TESTSDIR}/zfs-tests/cmd/threadsappend/threadsappend
|
|
export XATTRTEST=${TESTSDIR}/zfs-tests/cmd/xattrtest/xattrtest
|
|
|
|
export INTREE=1
|
|
export LDMOD=/sbin/insmod
|
|
export GDB="/usr/bin/libtool --mode=execute gdb"
|
|
|
|
export ZED_PIDFILE=@runstatedir@/zed.pid
|
|
|
|
export KERNEL_MODULES=( \
|
|
${KERNELMOD}/lib/zlib_deflate/zlib_deflate.ko \
|
|
${KERNELMOD}/lib/zlib_inflate/zlib_inflate.ko \
|
|
)
|
|
|
|
export SPL_MODULES=( \
|
|
${SPLBUILD}/module/spl/spl.ko \
|
|
${SPLBUILD}/module/splat/splat.ko \
|
|
)
|
|
|
|
export ZFS_MODULES=( \
|
|
${MODDIR}/avl/zavl.ko \
|
|
${MODDIR}/nvpair/znvpair.ko \
|
|
${MODDIR}/unicode/zunicode.ko \
|
|
${MODDIR}/zcommon/zcommon.ko \
|
|
${MODDIR}/icp/icp.ko \
|
|
${MODDIR}/zfs/zfs.ko \
|
|
)
|
|
|
|
export ZPIOS_MODULES=( \
|
|
${MODDIR}/zpios/zpios.ko \
|
|
)
|
|
|
|
export MODULES=( \
|
|
${SPL_MODULES[*]} \
|
|
${ZFS_MODULES[*]} \
|
|
)
|