mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-23 02:44:41 +03:00
Update build system and packaging
Minimal changes required to integrate the SPL sources in to the
ZFS repository build infrastructure and packaging.
Build system and packaging:
* Renamed SPL_* autoconf m4 macros to ZFS_*.
* Removed redundant SPL_* autoconf m4 macros.
* Updated the RPM spec files to remove SPL package dependency.
* The zfs package obsoletes the spl package, and the zfs-kmod
package obsoletes the spl-kmod package.
* The zfs-kmod-devel* packages were updated to add compatibility
symlinks under /usr/src/spl-x.y.z until all dependent packages
can be updated. They will be removed in a future release.
* Updated copy-builtin script for in-kernel builds.
* Updated DKMS package to include the spl.ko.
* Updated stale AUTHORS file to include all contributors.
* Updated stale COPYRIGHT and included the SPL as an exception.
* Renamed README.markdown to README.md
* Renamed OPENSOLARIS.LICENSE to LICENSE.
* Renamed DISCLAIMER to NOTICE.
Required code changes:
* Removed redundant HAVE_SPL macro.
* Removed _BOOT from nvpairs since it doesn't apply for Linux.
* Initial header cleanup (removal of empty headers, refactoring).
* Remove SPL repository clone/build from zimport.sh.
* Use of DEFINE_RATELIMIT_STATE and DEFINE_SPINLOCK removed due
to build issues when forcing C99 compilation.
* Replaced legacy ACCESS_ONCE with READ_ONCE.
* Include needed headers for `current` and `EXPORT_SYMBOL`.
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Olaf Faaland <faaland1@llnl.gov>
Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Pavel Zakharov <pavel.zakharov@delphix.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
TEST_ZIMPORT_SKIP="yes"
Closes #7556
This commit is contained in:
+4
-19
@@ -2,6 +2,7 @@ subdir-m += avl
|
||||
subdir-m += icp
|
||||
subdir-m += lua
|
||||
subdir-m += nvpair
|
||||
subdir-m += spl
|
||||
subdir-m += unicode
|
||||
subdir-m += zcommon
|
||||
subdir-m += zfs
|
||||
@@ -10,11 +11,11 @@ INSTALL_MOD_DIR ?= extra
|
||||
|
||||
ZFS_MODULE_CFLAGS += -std=gnu99 -Wno-declaration-after-statement
|
||||
ZFS_MODULE_CFLAGS += @KERNEL_DEBUG_CFLAGS@
|
||||
ZFS_MODULE_CFLAGS += -include @SPL_OBJ@/spl_config.h
|
||||
ZFS_MODULE_CFLAGS += -include @abs_top_builddir@/zfs_config.h
|
||||
ZFS_MODULE_CFLAGS += -I@abs_top_srcdir@/include -I@SPL@/include -I@SPL@
|
||||
ZFS_MODULE_CFLAGS += -I@abs_top_srcdir@/include/spl
|
||||
ZFS_MODULE_CFLAGS += -I@abs_top_srcdir@/include
|
||||
|
||||
ZFS_MODULE_CPPFLAGS += -DHAVE_SPL -D_KERNEL
|
||||
ZFS_MODULE_CPPFLAGS += -D_KERNEL
|
||||
ZFS_MODULE_CPPFLAGS += @KERNEL_DEBUG_CPPFLAGS@
|
||||
|
||||
@CONFIG_QAT_TRUE@ZFS_MODULE_CFLAGS += -I@QAT_SRC@/include
|
||||
@@ -25,21 +26,6 @@ export ZFS_MODULE_CFLAGS ZFS_MODULE_CPPFLAGS
|
||||
SUBDIR_TARGETS = icp lua
|
||||
|
||||
modules:
|
||||
@# Make the exported SPL symbols available to these modules.
|
||||
@# They may be in the root of SPL_OBJ when building against
|
||||
@# installed devel headers, or they may be in the module
|
||||
@# subdirectory when building against the spl source tree.
|
||||
@if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
|
||||
cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \
|
||||
elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
|
||||
cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
|
||||
else \
|
||||
echo -e "\n" \
|
||||
"*** Missing spl symbols ensure you have built the spl:\n" \
|
||||
"*** - @SPL_OBJ@/@SPL_SYMBOLS@, or\n" \
|
||||
"*** - @SPL_OBJ@/module/@SPL_SYMBOLS@\n"; \
|
||||
exit 1; \
|
||||
fi
|
||||
list='$(SUBDIR_TARGETS)'; for targetdir in $$list; do \
|
||||
$(MAKE) -C $$targetdir; \
|
||||
done
|
||||
@@ -50,7 +36,6 @@ clean:
|
||||
@# is defined. This indicates that kernel modules should be built.
|
||||
@CONFIG_KERNEL_TRUE@ $(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` @KERNEL_MAKE@ $@
|
||||
|
||||
if [ -f @SPL_SYMBOLS@ ]; then $(RM) @SPL_SYMBOLS@; fi
|
||||
if [ -f @LINUX_SYMBOLS@ ]; then $(RM) @LINUX_SYMBOLS@; fi
|
||||
if [ -f Module.markers ]; then $(RM) Module.markers; fi
|
||||
|
||||
|
||||
+3
-1
@@ -992,7 +992,9 @@ done:
|
||||
return (AVL_NODE2DATA(node, off));
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
#include <linux/module.h>
|
||||
|
||||
static int __init
|
||||
avl_init(void)
|
||||
{
|
||||
|
||||
@@ -29,12 +29,7 @@
|
||||
* Portions copyright (c) 2013, Saso Kiselkov, All rights reserved
|
||||
*/
|
||||
|
||||
/* determine where we can get bcopy/bzero declarations */
|
||||
#ifdef _KERNEL
|
||||
#include <sys/systm.h>
|
||||
#else
|
||||
#include <strings.h>
|
||||
#endif
|
||||
#include <sys/strings.h>
|
||||
#include <sys/edonr.h>
|
||||
#include <sys/debug.h>
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
#ifndef _CRYPTO_EDONR_BYTEORDER_H
|
||||
#define _CRYPTO_EDONR_BYTEORDER_H
|
||||
|
||||
|
||||
#include <sys/sysmacros.h>
|
||||
#include <sys/param.h>
|
||||
|
||||
#if defined(__BYTE_ORDER)
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
|
||||
#define SKEIN_PORT_CODE /* instantiate any code in skein_port.h */
|
||||
|
||||
#include <sys/sysmacros.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/note.h>
|
||||
#include <sys/skein.h> /* get the Skein API definitions */
|
||||
#include "skein_impl.h" /* get internal definitions */
|
||||
|
||||
|
||||
@@ -25,16 +25,11 @@
|
||||
#define _SKEIN_IMPL_H_
|
||||
|
||||
#include <sys/skein.h>
|
||||
#include <sys/strings.h>
|
||||
#include <sys/note.h>
|
||||
#include "skein_impl.h"
|
||||
#include "skein_port.h"
|
||||
|
||||
/* determine where we can get bcopy/bzero declarations */
|
||||
#ifdef _KERNEL
|
||||
#include <sys/systm.h>
|
||||
#else
|
||||
#include <strings.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
* "Internal" Skein definitions
|
||||
* -- not needed for sequential hashing API, but will be
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
#define _SKEIN_PORT_H_
|
||||
|
||||
#include <sys/types.h> /* get integer type definitions */
|
||||
#include <sys/systm.h> /* for bcopy() */
|
||||
|
||||
#ifndef RotL_64
|
||||
#define RotL_64(x, N) (((x) << (N)) | ((x) >> (64 - (N))))
|
||||
|
||||
@@ -915,7 +915,7 @@ crypto_decrypt_single(crypto_context_t context, crypto_data_t *ciphertext,
|
||||
return (error);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(crypto_cipher_init_prov);
|
||||
EXPORT_SYMBOL(crypto_cipher_init);
|
||||
EXPORT_SYMBOL(crypto_encrypt_prov);
|
||||
|
||||
@@ -145,7 +145,7 @@ crypto_destroy_ctx_template(crypto_ctx_template_t tmpl)
|
||||
kmem_free(ctx_tmpl, sizeof (kcf_ctx_template_t));
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(crypto_create_ctx_template);
|
||||
EXPORT_SYMBOL(crypto_destroy_ctx_template);
|
||||
#endif
|
||||
|
||||
@@ -482,7 +482,7 @@ crypto_digest_single(crypto_context_t context, crypto_data_t *data,
|
||||
return (error);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(crypto_digest_prov);
|
||||
EXPORT_SYMBOL(crypto_digest);
|
||||
EXPORT_SYMBOL(crypto_digest_init_prov);
|
||||
|
||||
@@ -635,7 +635,7 @@ crypto_mac_single(crypto_context_t context, crypto_data_t *data,
|
||||
return (error);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(crypto_mac_prov);
|
||||
EXPORT_SYMBOL(crypto_mac);
|
||||
EXPORT_SYMBOL(crypto_mac_verify_prov);
|
||||
|
||||
@@ -122,6 +122,6 @@ kcf_walk_ntfylist(uint32_t event, void *event_arg)
|
||||
mutex_exit(&ntfy_list_lock);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(crypto_mech2id);
|
||||
#endif
|
||||
|
||||
@@ -149,7 +149,7 @@ icp_init(void)
|
||||
return (0);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
module_exit(icp_fini);
|
||||
module_init(icp_init);
|
||||
MODULE_AUTHOR(ZFS_META_AUTHOR);
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
#include <sys/crypto/common.h>
|
||||
#include <sys/crypto/spi.h>
|
||||
#include <sys/sysmacros.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/edonr.h>
|
||||
|
||||
/*
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
#include <sys/crypto/common.h>
|
||||
#include <sys/crypto/spi.h>
|
||||
#include <sys/sysmacros.h>
|
||||
#include <sys/systm.h>
|
||||
#define SKEIN_MODULE_IMPL
|
||||
#include <sys/skein.h>
|
||||
|
||||
|
||||
+1
-1
@@ -1279,7 +1279,7 @@ LUA_API void lua_upvaluejoin (lua_State *L, int fidx1, int n1,
|
||||
luaC_objbarrier(L, f1, *up2);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
|
||||
static int __init
|
||||
lua_init(void)
|
||||
|
||||
@@ -788,7 +788,7 @@ LUALIB_API void luaL_checkversion_ (lua_State *L, lua_Number ver) {
|
||||
lua_pop(L, 1);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
|
||||
EXPORT_SYMBOL(luaL_argerror);
|
||||
EXPORT_SYMBOL(luaL_error);
|
||||
|
||||
@@ -288,7 +288,7 @@ LUAMOD_API int luaopen_base (lua_State *L) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
|
||||
EXPORT_SYMBOL(luaopen_base);
|
||||
|
||||
|
||||
@@ -151,7 +151,7 @@ LUAMOD_API int luaopen_coroutine (lua_State *L) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
|
||||
EXPORT_SYMBOL(luaopen_coroutine);
|
||||
|
||||
|
||||
@@ -1032,7 +1032,7 @@ LUAMOD_API int luaopen_string (lua_State *L) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
|
||||
EXPORT_SYMBOL(luaopen_string);
|
||||
|
||||
|
||||
@@ -281,7 +281,7 @@ LUAMOD_API int luaopen_table (lua_State *L) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
|
||||
EXPORT_SYMBOL(luaopen_table);
|
||||
|
||||
|
||||
@@ -508,7 +508,7 @@ fnvpair_value_nvlist(nvpair_t *nvp)
|
||||
return (rv);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
|
||||
EXPORT_SYMBOL(fnvlist_alloc);
|
||||
EXPORT_SYMBOL(fnvlist_free);
|
||||
|
||||
+7
-12
@@ -24,25 +24,20 @@
|
||||
* Copyright (c) 2015, 2017 by Delphix. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <sys/stropts.h>
|
||||
#include <sys/debug.h>
|
||||
#include <sys/isa_defs.h>
|
||||
#include <sys/int_limits.h>
|
||||
#include <sys/nvpair.h>
|
||||
#include <sys/nvpair_impl.h>
|
||||
#include <rpc/types.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/strings.h>
|
||||
#include <rpc/xdr.h>
|
||||
|
||||
#if defined(_KERNEL) && !defined(_BOOT)
|
||||
#include <sys/varargs.h>
|
||||
#include <sys/ddi.h>
|
||||
#if defined(_KERNEL)
|
||||
#include <sys/sunddi.h>
|
||||
#include <sys/sysmacros.h>
|
||||
#else
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <strings.h>
|
||||
#include <stddef.h>
|
||||
#endif
|
||||
|
||||
@@ -270,7 +265,7 @@ nvlist_nvflag(nvlist_t *nvl)
|
||||
static nv_alloc_t *
|
||||
nvlist_nv_alloc(int kmflag)
|
||||
{
|
||||
#if defined(_KERNEL) && !defined(_BOOT)
|
||||
#if defined(_KERNEL)
|
||||
switch (kmflag) {
|
||||
case KM_SLEEP:
|
||||
return (nv_alloc_sleep);
|
||||
@@ -281,7 +276,7 @@ nvlist_nv_alloc(int kmflag)
|
||||
}
|
||||
#else
|
||||
return (nv_alloc_nosleep);
|
||||
#endif /* _KERNEL && !_BOOT */
|
||||
#endif /* _KERNEL */
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1680,7 +1675,7 @@ nvlist_lookup_nvpair_ei_sep(nvlist_t *nvl, const char *name, const char sep,
|
||||
sepp = idxp;
|
||||
|
||||
/* determine the index value */
|
||||
#if defined(_KERNEL) && !defined(_BOOT)
|
||||
#if defined(_KERNEL)
|
||||
if (ddi_strtol(idxp, &idxep, 0, &idx))
|
||||
goto fail;
|
||||
#else
|
||||
@@ -3320,7 +3315,7 @@ nvs_xdr(nvstream_t *nvs, nvlist_t *nvl, char *buf, size_t *buflen)
|
||||
return (err);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
static int __init
|
||||
nvpair_init(void)
|
||||
{
|
||||
|
||||
@@ -24,18 +24,9 @@
|
||||
* Use is subject to license terms.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include <sys/stropts.h>
|
||||
#include <sys/isa_defs.h>
|
||||
#include <sys/nvpair.h>
|
||||
#include <sys/sysmacros.h>
|
||||
#if defined(_KERNEL) && !defined(_BOOT)
|
||||
#include <sys/varargs.h>
|
||||
#else
|
||||
#include <stdarg.h>
|
||||
#include <strings.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This allocator is very simple.
|
||||
@@ -119,6 +110,6 @@ const nv_alloc_ops_t nv_fixed_ops_def = {
|
||||
|
||||
const nv_alloc_ops_t *nv_fixed_ops = &nv_fixed_ops_def;
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(nv_fixed_ops);
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
src = @abs_top_srcdir@/module/spl
|
||||
obj = @abs_builddir@
|
||||
|
||||
MODULE := spl
|
||||
|
||||
obj-$(CONFIG_ZFS) := $(MODULE).o
|
||||
|
||||
ccflags-y := $(ZFS_MODULE_CFLAGS) $(ZFS_MODULE_CPPFLAGS)
|
||||
|
||||
$(MODULE)-objs += spl-atomic.o
|
||||
$(MODULE)-objs += spl-condvar.o
|
||||
$(MODULE)-objs += spl-cred.o
|
||||
$(MODULE)-objs += spl-err.o
|
||||
$(MODULE)-objs += spl-generic.o
|
||||
$(MODULE)-objs += spl-kmem.o
|
||||
$(MODULE)-objs += spl-kmem-cache.o
|
||||
$(MODULE)-objs += spl-kobj.o
|
||||
$(MODULE)-objs += spl-kstat.o
|
||||
$(MODULE)-objs += spl-mutex.o
|
||||
$(MODULE)-objs += spl-proc.o
|
||||
$(MODULE)-objs += spl-rwlock.o
|
||||
$(MODULE)-objs += spl-taskq.o
|
||||
$(MODULE)-objs += spl-thread.o
|
||||
$(MODULE)-objs += spl-tsd.o
|
||||
$(MODULE)-objs += spl-vmem.o
|
||||
$(MODULE)-objs += spl-vnode.o
|
||||
$(MODULE)-objs += spl-xdr.o
|
||||
$(MODULE)-objs += spl-zlib.o
|
||||
@@ -0,0 +1,16 @@
|
||||
The Solaris Porting Layer, SPL, is a Linux kernel module which provides a
|
||||
compatibility layer used by the [ZFS on Linux](http://zfsonlinux.org) project.
|
||||
|
||||
# Installation
|
||||
|
||||
The latest version of the SPL is maintained as part of this repository.
|
||||
Only when building ZFS version 0.7.x or earlier must an external SPL release
|
||||
be used. These releases can be found at:
|
||||
|
||||
* Version 0.7.x: https://github.com/zfsonlinux/spl/tree/spl-0.7-release
|
||||
* Version 0.6.5.x: https://github.com/zfsonlinux/spl/tree/spl-0.6.5-release
|
||||
|
||||
# Release
|
||||
|
||||
The SPL is released under a GPLv2 license.
|
||||
For more details see the NOTICE and THIRDPARTYLICENSE files; `UCRL-CODE-235197`
|
||||
@@ -27,6 +27,7 @@
|
||||
#include <sys/condvar.h>
|
||||
#include <sys/time.h>
|
||||
#include <linux/hrtimer.h>
|
||||
#include <linux/compiler_compat.h>
|
||||
|
||||
void
|
||||
__cv_init(kcondvar_t *cvp, char *name, kcv_type_t type, void *arg)
|
||||
@@ -89,7 +90,7 @@ cv_wait_common(kcondvar_t *cvp, kmutex_t *mp, int state, int io)
|
||||
ASSERT(mutex_owned(mp));
|
||||
atomic_inc(&cvp->cv_refs);
|
||||
|
||||
m = ACCESS_ONCE(cvp->cv_mutex);
|
||||
m = READ_ONCE(cvp->cv_mutex);
|
||||
if (!m)
|
||||
m = xchg(&cvp->cv_mutex, mp);
|
||||
/* Ensure the same mutex is used by all callers */
|
||||
@@ -202,7 +203,7 @@ __cv_timedwait_common(kcondvar_t *cvp, kmutex_t *mp, clock_t expire_time,
|
||||
return (-1);
|
||||
|
||||
atomic_inc(&cvp->cv_refs);
|
||||
m = ACCESS_ONCE(cvp->cv_mutex);
|
||||
m = READ_ONCE(cvp->cv_mutex);
|
||||
if (!m)
|
||||
m = xchg(&cvp->cv_mutex, mp);
|
||||
/* Ensure the same mutex is used by all callers */
|
||||
@@ -290,7 +291,7 @@ __cv_timedwait_hires(kcondvar_t *cvp, kmutex_t *mp, hrtime_t expire_time,
|
||||
return (-1);
|
||||
|
||||
atomic_inc(&cvp->cv_refs);
|
||||
m = ACCESS_ONCE(cvp->cv_mutex);
|
||||
m = READ_ONCE(cvp->cv_mutex);
|
||||
if (!m)
|
||||
m = xchg(&cvp->cv_mutex, mp);
|
||||
/* Ensure the same mutex is used by all callers */
|
||||
|
||||
+2
-11
@@ -26,7 +26,6 @@
|
||||
|
||||
#include <sys/sysmacros.h>
|
||||
#include <sys/cmn_err.h>
|
||||
#include <linux/ratelimit.h>
|
||||
|
||||
/*
|
||||
* It is often useful to actually have the panic crash the node so you
|
||||
@@ -40,19 +39,11 @@ module_param(spl_panic_halt, uint, 0644);
|
||||
MODULE_PARM_DESC(spl_panic_halt, "Cause kernel panic on assertion failures");
|
||||
/* END CSTYLED */
|
||||
|
||||
/*
|
||||
* Limit the number of stack traces dumped to not more than 5 every
|
||||
* 60 seconds to prevent denial-of-service attacks from debug code.
|
||||
*/
|
||||
DEFINE_RATELIMIT_STATE(dumpstack_ratelimit_state, 60 * HZ, 5);
|
||||
|
||||
void
|
||||
spl_dumpstack(void)
|
||||
{
|
||||
if (__ratelimit(&dumpstack_ratelimit_state)) {
|
||||
printk("Showing stack for process %d\n", current->pid);
|
||||
dump_stack();
|
||||
}
|
||||
printk("Showing stack for process %d\n", current->pid);
|
||||
dump_stack();
|
||||
}
|
||||
EXPORT_SYMBOL(spl_dumpstack);
|
||||
|
||||
|
||||
@@ -46,12 +46,13 @@
|
||||
#include <sys/strings.h>
|
||||
#include <linux/kmod.h>
|
||||
|
||||
char spl_version[32] = "SPL v" SPL_META_VERSION "-" SPL_META_RELEASE;
|
||||
char spl_version[32] = "SPL v" ZFS_META_VERSION "-" ZFS_META_RELEASE;
|
||||
EXPORT_SYMBOL(spl_version);
|
||||
|
||||
/* BEGIN CSTYLED */
|
||||
unsigned long spl_hostid = 0;
|
||||
EXPORT_SYMBOL(spl_hostid);
|
||||
/* BEGIN CSTYLED */
|
||||
module_param(spl_hostid, ulong, 0644);
|
||||
MODULE_PARM_DESC(spl_hostid, "The system hostid.");
|
||||
/* END CSTYLED */
|
||||
@@ -719,8 +720,6 @@ spl_init(void)
|
||||
if ((rc = spl_zlib_init()))
|
||||
goto out10;
|
||||
|
||||
printk(KERN_NOTICE "SPL: Loaded module v%s-%s%s\n", SPL_META_VERSION,
|
||||
SPL_META_RELEASE, SPL_DEBUG_STR);
|
||||
return (rc);
|
||||
|
||||
out10:
|
||||
@@ -742,18 +741,12 @@ out3:
|
||||
out2:
|
||||
spl_kvmem_fini();
|
||||
out1:
|
||||
printk(KERN_NOTICE "SPL: Failed to Load Solaris Porting Layer "
|
||||
"v%s-%s%s, rc = %d\n", SPL_META_VERSION, SPL_META_RELEASE,
|
||||
SPL_DEBUG_STR, rc);
|
||||
|
||||
return (rc);
|
||||
}
|
||||
|
||||
static void __exit
|
||||
spl_fini(void)
|
||||
{
|
||||
printk(KERN_NOTICE "SPL: Unloaded module v%s-%s%s\n",
|
||||
SPL_META_VERSION, SPL_META_RELEASE, SPL_DEBUG_STR);
|
||||
spl_zlib_fini();
|
||||
spl_kstat_fini();
|
||||
spl_proc_fini();
|
||||
@@ -770,6 +763,6 @@ module_init(spl_init);
|
||||
module_exit(spl_fini);
|
||||
|
||||
MODULE_DESCRIPTION("Solaris Porting Layer");
|
||||
MODULE_AUTHOR(SPL_META_AUTHOR);
|
||||
MODULE_LICENSE(SPL_META_LICENSE);
|
||||
MODULE_VERSION(SPL_META_VERSION "-" SPL_META_RELEASE);
|
||||
MODULE_AUTHOR(ZFS_META_AUTHOR);
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_VERSION(ZFS_META_VERSION "-" ZFS_META_RELEASE);
|
||||
|
||||
+4
-16
@@ -27,7 +27,6 @@
|
||||
#include <sys/kmem.h>
|
||||
#include <sys/vmem.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/ratelimit.h>
|
||||
|
||||
/*
|
||||
* As a general rule kmem_alloc() allocations should be small, preferably
|
||||
@@ -134,12 +133,6 @@ strfree(char *str)
|
||||
}
|
||||
EXPORT_SYMBOL(strfree);
|
||||
|
||||
/*
|
||||
* Limit the number of large allocation stack traces dumped to not more than
|
||||
* 5 every 60 seconds to prevent denial-of-service attacks from debug code.
|
||||
*/
|
||||
DEFINE_RATELIMIT_STATE(kmem_alloc_ratelimit_state, 60 * HZ, 5);
|
||||
|
||||
/*
|
||||
* General purpose unified implementation of kmem_alloc(). It is an
|
||||
* amalgamation of Linux and Illumos allocator design. It should never be
|
||||
@@ -160,7 +153,7 @@ spl_kmem_alloc_impl(size_t size, int flags, int node)
|
||||
* through the vmem_alloc()/vmem_zalloc() interfaces.
|
||||
*/
|
||||
if ((spl_kmem_alloc_warn > 0) && (size > spl_kmem_alloc_warn) &&
|
||||
!(flags & KM_VMEM) && __ratelimit(&kmem_alloc_ratelimit_state)) {
|
||||
!(flags & KM_VMEM)) {
|
||||
printk(KERN_WARNING
|
||||
"Large kmem_alloc(%lu, 0x%x), please file an issue at:\n"
|
||||
"https://github.com/zfsonlinux/zfs/issues/new\n",
|
||||
@@ -207,14 +200,6 @@ spl_kmem_alloc_impl(size_t size, int flags, int node)
|
||||
continue;
|
||||
}
|
||||
|
||||
if (unlikely(__ratelimit(&kmem_alloc_ratelimit_state))) {
|
||||
printk(KERN_WARNING
|
||||
"Possible memory allocation deadlock: "
|
||||
"size=%lu lflags=0x%x",
|
||||
(unsigned long)size, lflags);
|
||||
dump_stack();
|
||||
}
|
||||
|
||||
/*
|
||||
* Use cond_resched() instead of congestion_wait() to avoid
|
||||
* deadlocking systems where there are no block devices.
|
||||
@@ -535,9 +520,12 @@ spl_kmem_fini_tracking(struct list_head *list, spinlock_t *lock)
|
||||
int
|
||||
spl_kmem_init(void)
|
||||
{
|
||||
|
||||
#ifdef DEBUG_KMEM
|
||||
kmem_alloc_used_set(0);
|
||||
|
||||
|
||||
|
||||
#ifdef DEBUG_KMEM_TRACKING
|
||||
spl_kmem_init_tracking(&kmem_list, &kmem_lock, KMEM_TABLE_SIZE);
|
||||
#endif /* DEBUG_KMEM_TRACKING */
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/rwlock.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
#if defined(CONFIG_PREEMPT_RT_FULL)
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ static taskq_thread_t *taskq_thread_create(taskq_t *);
|
||||
|
||||
/* List of all taskqs */
|
||||
LIST_HEAD(tq_list);
|
||||
DECLARE_RWSEM(tq_list_sem);
|
||||
struct rw_semaphore tq_list_sem;
|
||||
static uint_t taskq_tsd;
|
||||
|
||||
static int
|
||||
@@ -1257,6 +1257,7 @@ MODULE_PARM_DESC(spl_taskq_kick,
|
||||
int
|
||||
spl_taskq_init(void)
|
||||
{
|
||||
init_rwsem(&tq_list_sem);
|
||||
tsd_create(&taskq_tsd, NULL);
|
||||
|
||||
system_taskq = taskq_create("spl_system_taskq", MAX(boot_ncpus, 64),
|
||||
|
||||
@@ -40,7 +40,7 @@ EXPORT_SYMBOL(rootdir);
|
||||
static spl_kmem_cache_t *vn_cache;
|
||||
static spl_kmem_cache_t *vn_file_cache;
|
||||
|
||||
static DEFINE_SPINLOCK(vn_file_lock);
|
||||
static spinlock_t vn_file_lock;
|
||||
static LIST_HEAD(vn_file_list);
|
||||
|
||||
static int
|
||||
@@ -744,6 +744,8 @@ vn_file_cache_destructor(void *buf, void *cdrarg)
|
||||
int
|
||||
spl_vn_init(void)
|
||||
{
|
||||
vn_file_lock = __SPIN_LOCK_UNLOCKED(vn_file_lock);
|
||||
|
||||
vn_cache = kmem_cache_create("spl_vn_cache",
|
||||
sizeof (struct vnode), 64, vn_cache_constructor,
|
||||
vn_cache_destructor, NULL, NULL, NULL, 0);
|
||||
|
||||
@@ -131,8 +131,6 @@
|
||||
static struct xdr_ops xdrmem_encode_ops;
|
||||
static struct xdr_ops xdrmem_decode_ops;
|
||||
|
||||
typedef int bool_t;
|
||||
|
||||
void
|
||||
xdrmem_create(XDR *xdrs, const caddr_t addr, const uint_t size,
|
||||
const enum xdr_op op)
|
||||
|
||||
@@ -36,18 +36,13 @@
|
||||
*/
|
||||
|
||||
#include <sys/types.h>
|
||||
#ifdef _KERNEL
|
||||
#include <sys/strings.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/sysmacros.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/debug.h>
|
||||
#include <sys/kmem.h>
|
||||
#include <sys/ddi.h>
|
||||
#include <sys/sunddi.h>
|
||||
#else
|
||||
#include <sys/u8_textprep.h>
|
||||
#include <strings.h>
|
||||
#endif /* _KERNEL */
|
||||
#include <sys/byteorder.h>
|
||||
#include <sys/errno.h>
|
||||
#include <sys/u8_textprep_data.h>
|
||||
@@ -2130,7 +2125,7 @@ u8_textprep_str(char *inarray, size_t *inlen, char *outarray, size_t *outlen,
|
||||
return (ret_val);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
static int __init
|
||||
unicode_init(void)
|
||||
{
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
#ifdef _KERNEL
|
||||
#include <sys/param.h>
|
||||
#include <sys/sysmacros.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/debug.h>
|
||||
#include <sys/kmem.h>
|
||||
#include <sys/sunddi.h>
|
||||
@@ -854,7 +853,7 @@ uconv_u8tou32(const uchar_t *u8s, size_t *utf8len,
|
||||
return (0);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(uconv_u16tou32);
|
||||
EXPORT_SYMBOL(uconv_u16tou8);
|
||||
EXPORT_SYMBOL(uconv_u32tou16);
|
||||
|
||||
@@ -26,9 +26,7 @@
|
||||
* Copyright (c) 2014, Nexenta Systems, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifdef _KERNEL
|
||||
#include <sys/systm.h>
|
||||
#else
|
||||
#ifndef _KERNEL
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#endif
|
||||
@@ -351,7 +349,7 @@ zpool_feature_init(void)
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(zfeature_lookup_name);
|
||||
EXPORT_SYMBOL(zfeature_is_supported);
|
||||
EXPORT_SYMBOL(zfeature_is_valid_guid);
|
||||
|
||||
@@ -29,15 +29,12 @@
|
||||
* then a separate file should to be created.
|
||||
*/
|
||||
|
||||
#if defined(_KERNEL)
|
||||
#include <sys/systm.h>
|
||||
#else
|
||||
#if !defined(_KERNEL)
|
||||
#include <string.h>
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/fs/zfs.h>
|
||||
#include <sys/int_limits.h>
|
||||
#include <sys/nvpair.h>
|
||||
#include "zfs_comutil.h"
|
||||
#include <sys/zfs_ratelimit.h>
|
||||
@@ -207,7 +204,7 @@ const char *zfs_history_event_names[ZFS_NUM_LEGACY_HISTORY_EVENTS] = {
|
||||
"pool split",
|
||||
};
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(zfs_allocatable_devs);
|
||||
EXPORT_SYMBOL(zpool_get_rewind_policy);
|
||||
EXPORT_SYMBOL(zfs_zpl_version_map);
|
||||
|
||||
@@ -28,16 +28,15 @@
|
||||
#include <sys/zfs_context.h>
|
||||
|
||||
#if defined(_KERNEL)
|
||||
#include <sys/systm.h>
|
||||
#include <sys/sunddi.h>
|
||||
#include <sys/ctype.h>
|
||||
#else
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <strings.h>
|
||||
#include <libnvpair.h>
|
||||
#include <ctype.h>
|
||||
#endif
|
||||
#include <sys/strings.h>
|
||||
#include <sys/dsl_deleg.h>
|
||||
#include "zfs_prop.h"
|
||||
#include "zfs_deleg.h"
|
||||
@@ -244,7 +243,7 @@ zfs_deleg_whokey(char *attr, zfs_deleg_who_type_t type,
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(zfs_deleg_verify_nvlist);
|
||||
EXPORT_SYMBOL(zfs_deleg_whokey);
|
||||
EXPORT_SYMBOL(zfs_deleg_canonicalize_perm);
|
||||
|
||||
@@ -867,7 +867,7 @@ zio_abd_checksum_func_t fletcher_4_abd_ops = {
|
||||
};
|
||||
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
#include <linux/mod_compat.h>
|
||||
|
||||
static int
|
||||
|
||||
@@ -45,8 +45,8 @@
|
||||
|
||||
#include <linux/simd_aarch64.h>
|
||||
#include <sys/spa_checksum.h>
|
||||
#include <sys/strings.h>
|
||||
#include <zfs_fletcher.h>
|
||||
#include <strings.h>
|
||||
|
||||
static void
|
||||
fletcher_4_aarch64_neon_init(fletcher_4_ctx_t *ctx)
|
||||
|
||||
@@ -28,8 +28,8 @@
|
||||
#include <sys/byteorder.h>
|
||||
#include <sys/frame.h>
|
||||
#include <sys/spa_checksum.h>
|
||||
#include <sys/strings.h>
|
||||
#include <zfs_fletcher.h>
|
||||
#include <strings.h>
|
||||
|
||||
#define __asm __asm__ __volatile__
|
||||
|
||||
|
||||
@@ -44,8 +44,8 @@
|
||||
|
||||
#include <linux/simd_x86.h>
|
||||
#include <sys/spa_checksum.h>
|
||||
#include <sys/strings.h>
|
||||
#include <zfs_fletcher.h>
|
||||
#include <strings.h>
|
||||
|
||||
static void
|
||||
fletcher_4_avx2_init(fletcher_4_ctx_t *ctx)
|
||||
|
||||
@@ -46,8 +46,8 @@
|
||||
#include <linux/simd_x86.h>
|
||||
#include <sys/spa_checksum.h>
|
||||
#include <sys/byteorder.h>
|
||||
#include <sys/strings.h>
|
||||
#include <zfs_fletcher.h>
|
||||
#include <strings.h>
|
||||
|
||||
static void
|
||||
fletcher_4_sse2_init(fletcher_4_ctx_t *ctx)
|
||||
|
||||
@@ -43,8 +43,8 @@
|
||||
|
||||
#include <sys/byteorder.h>
|
||||
#include <sys/spa_checksum.h>
|
||||
#include <sys/strings.h>
|
||||
#include <zfs_fletcher.h>
|
||||
#include <strings.h>
|
||||
|
||||
static void
|
||||
fletcher_4_superscalar_init(fletcher_4_ctx_t *ctx)
|
||||
|
||||
@@ -43,8 +43,8 @@
|
||||
|
||||
#include <sys/byteorder.h>
|
||||
#include <sys/spa_checksum.h>
|
||||
#include <sys/strings.h>
|
||||
#include <zfs_fletcher.h>
|
||||
#include <strings.h>
|
||||
|
||||
static void
|
||||
fletcher_4_superscalar4_init(fletcher_4_ctx_t *ctx)
|
||||
|
||||
@@ -38,9 +38,7 @@
|
||||
* Each function returns 0 on success, -1 on error.
|
||||
*/
|
||||
|
||||
#if defined(_KERNEL)
|
||||
#include <sys/systm.h>
|
||||
#else
|
||||
#if !defined(_KERNEL)
|
||||
#include <string.h>
|
||||
#endif
|
||||
|
||||
@@ -349,7 +347,7 @@ pool_namecheck(const char *pool, namecheck_err_t *why, char *what)
|
||||
return (0);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(pool_namecheck);
|
||||
EXPORT_SYMBOL(dataset_namecheck);
|
||||
EXPORT_SYMBOL(zfs_component_namecheck);
|
||||
|
||||
@@ -39,9 +39,7 @@
|
||||
#include "zfs_deleg.h"
|
||||
#include "zfs_fletcher.h"
|
||||
|
||||
#if defined(_KERNEL)
|
||||
#include <sys/systm.h>
|
||||
#else
|
||||
#if !defined(_KERNEL)
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
@@ -847,7 +845,7 @@ zfs_prop_align_right(zfs_prop_t prop)
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
static int __init
|
||||
zcommon_init(void)
|
||||
{
|
||||
|
||||
@@ -49,6 +49,8 @@
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/uio_impl.h>
|
||||
#include <sys/sysmacros.h>
|
||||
#include <sys/strings.h>
|
||||
#include <linux/kmap_compat.h>
|
||||
|
||||
/*
|
||||
|
||||
@@ -32,9 +32,7 @@
|
||||
|
||||
#include "zfs_prop.h"
|
||||
|
||||
#if defined(_KERNEL)
|
||||
#include <sys/systm.h>
|
||||
#else
|
||||
#if !defined(_KERNEL)
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
@@ -244,7 +242,7 @@ zpool_prop_align_right(zpool_prop_t prop)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
/* zpool property functions */
|
||||
EXPORT_SYMBOL(zpool_prop_init);
|
||||
EXPORT_SYMBOL(zpool_prop_get_type);
|
||||
|
||||
@@ -41,8 +41,9 @@
|
||||
#include "zfs_deleg.h"
|
||||
|
||||
#if defined(_KERNEL)
|
||||
#include <sys/systm.h>
|
||||
#include <util/qsort.h>
|
||||
#include <linux/sort.h>
|
||||
#define qsort(base, num, size, cmp) \
|
||||
sort(base, num, size, cmp, NULL)
|
||||
#else
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@@ -435,7 +436,7 @@ zprop_width(int prop, boolean_t *fixed, zfs_type_t type)
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
/* Common routines to initialize property tables */
|
||||
EXPORT_SYMBOL(zprop_register_impl);
|
||||
EXPORT_SYMBOL(zprop_register_string);
|
||||
|
||||
+1
-1
@@ -1466,7 +1466,7 @@ abd_raidz_rec_iterate(abd_t **cabds, abd_t **tabds,
|
||||
local_irq_restore(flags);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
/*
|
||||
* bio_nr_pages for ABD.
|
||||
* @off is the offset in @abd
|
||||
|
||||
+4
-6
@@ -292,11 +292,9 @@
|
||||
#include <sys/zil.h>
|
||||
#include <sys/fm/fs/zfs.h>
|
||||
#ifdef _KERNEL
|
||||
#include <sys/shrinker.h>
|
||||
#include <sys/vmsystm.h>
|
||||
#include <vm/anon.h>
|
||||
#include <sys/fs/swapnode.h>
|
||||
#include <sys/zpl.h>
|
||||
#include <linux/mm_compat.h>
|
||||
#include <linux/page_compat.h>
|
||||
#endif
|
||||
#include <sys/callb.h>
|
||||
@@ -1199,7 +1197,7 @@ buf_fini(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
/*
|
||||
* Large allocations which do not require contiguous pages
|
||||
* should be using vmem_free() in the linux kernel\
|
||||
@@ -1360,7 +1358,7 @@ buf_init(void)
|
||||
hsize <<= 1;
|
||||
retry:
|
||||
buf_hash_table.ht_mask = hsize - 1;
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
/*
|
||||
* Large allocations which do not require contiguous pages
|
||||
* should be using vmem_alloc() in the linux kernel
|
||||
@@ -9050,7 +9048,7 @@ l2arc_stop(void)
|
||||
mutex_exit(&l2arc_feed_thr_lock);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(arc_buf_size);
|
||||
EXPORT_SYMBOL(arc_write);
|
||||
EXPORT_SYMBOL(arc_read);
|
||||
|
||||
+3
-3
@@ -762,7 +762,7 @@ dbuf_init(void)
|
||||
|
||||
retry:
|
||||
h->hash_table_mask = hsize - 1;
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
/*
|
||||
* Large allocations which do not require contiguous pages
|
||||
* should be using vmem_alloc() in the linux kernel
|
||||
@@ -847,7 +847,7 @@ dbuf_fini(void)
|
||||
|
||||
for (i = 0; i < DBUF_MUTEXES; i++)
|
||||
mutex_destroy(&h->hash_mutexes[i]);
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
/*
|
||||
* Large allocations which do not require contiguous pages
|
||||
* should be using vmem_free() in the linux kernel
|
||||
@@ -4341,7 +4341,7 @@ dbuf_write(dbuf_dirty_record_t *dr, arc_buf_t *data, dmu_tx_t *tx)
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(dbuf_find);
|
||||
EXPORT_SYMBOL(dbuf_is_metadata);
|
||||
EXPORT_SYMBOL(dbuf_destroy);
|
||||
|
||||
@@ -225,7 +225,7 @@ dbuf_stats_destroy(void)
|
||||
dbuf_stats_hash_table_destroy();
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
module_param(zfs_dbuf_state_index, int, 0644);
|
||||
MODULE_PARM_DESC(zfs_dbuf_state_index, "Calculate arc header index");
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -1236,7 +1236,7 @@ ddt_walk(spa_t *spa, ddt_bookmark_t *ddb, ddt_entry_t *dde)
|
||||
return (SET_ERROR(ENOENT));
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
module_param(zfs_dedup_prefetch, int, 0644);
|
||||
MODULE_PARM_DESC(zfs_dedup_prefetch, "Enable prefetching dedup-ed blks");
|
||||
#endif
|
||||
|
||||
@@ -29,7 +29,6 @@
|
||||
#include <sys/ddt.h>
|
||||
#include <sys/zap.h>
|
||||
#include <sys/dmu_tx.h>
|
||||
#include <util/sscanf.h>
|
||||
|
||||
int ddt_zap_leaf_blockshift = 12;
|
||||
int ddt_zap_indirect_blockshift = 12;
|
||||
|
||||
+1
-1
@@ -2505,7 +2505,7 @@ dmu_fini(void)
|
||||
abd_fini();
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(dmu_bonus_hold);
|
||||
EXPORT_SYMBOL(dmu_buf_hold_array_by_bonus);
|
||||
EXPORT_SYMBOL(dmu_buf_rele_array);
|
||||
|
||||
@@ -411,7 +411,7 @@ dmu_object_free_zapified(objset_t *mos, uint64_t object, dmu_tx_t *tx)
|
||||
VERIFY0(dmu_object_free(mos, object, tx));
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(dmu_object_alloc);
|
||||
EXPORT_SYMBOL(dmu_object_alloc_dnsize);
|
||||
EXPORT_SYMBOL(dmu_object_claim);
|
||||
|
||||
@@ -2950,7 +2950,7 @@ dmu_objset_willuse_space(objset_t *os, int64_t space, dmu_tx_t *tx)
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(dmu_objset_zil);
|
||||
EXPORT_SYMBOL(dmu_objset_pool);
|
||||
EXPORT_SYMBOL(dmu_objset_ds);
|
||||
|
||||
@@ -769,7 +769,7 @@ traverse_pool(spa_t *spa, uint64_t txg_start, int flags,
|
||||
return (err);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(traverse_dataset);
|
||||
EXPORT_SYMBOL(traverse_pool);
|
||||
|
||||
|
||||
+1
-2
@@ -37,7 +37,6 @@
|
||||
#include <sys/sa.h>
|
||||
#include <sys/sa_impl.h>
|
||||
#include <sys/zfs_context.h>
|
||||
#include <sys/varargs.h>
|
||||
#include <sys/trace_dmu.h>
|
||||
|
||||
typedef void (*dmu_tx_hold_func_t)(dmu_tx_t *tx, struct dnode *dn,
|
||||
@@ -1372,7 +1371,7 @@ dmu_tx_fini(void)
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(dmu_tx_create);
|
||||
EXPORT_SYMBOL(dmu_tx_hold_write);
|
||||
EXPORT_SYMBOL(dmu_tx_hold_write_by_dnode);
|
||||
|
||||
@@ -357,7 +357,7 @@ dmu_zfetch(zfetch_t *zf, uint64_t blkid, uint64_t nblks, boolean_t fetch_data)
|
||||
ZFETCHSTAT_BUMP(zfetchstat_hits);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
/* BEGIN CSTYLED */
|
||||
module_param(zfs_prefetch_disable, int, 0644);
|
||||
MODULE_PARM_DESC(zfs_prefetch_disable, "Disable all ZFS prefetching");
|
||||
|
||||
@@ -4237,7 +4237,7 @@ dsl_dataset_create_remap_deadlist(dsl_dataset_t *ds, dmu_tx_t *tx)
|
||||
spa_feature_incr(spa, SPA_FEATURE_OBSOLETE_COUNTS, tx);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
#if defined(_LP64)
|
||||
module_param(zfs_max_recordsize, int, 0644);
|
||||
MODULE_PARM_DESC(zfs_max_recordsize, "Max allowed record size");
|
||||
|
||||
@@ -768,7 +768,7 @@ dsl_delegation_on(objset_t *os)
|
||||
return (!!spa_delegation(os->os_spa));
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(dsl_deleg_get);
|
||||
EXPORT_SYMBOL(dsl_deleg_set);
|
||||
#endif
|
||||
|
||||
@@ -1095,7 +1095,7 @@ dsl_destroy_inconsistent(const char *dsname, void *arg)
|
||||
}
|
||||
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(dsl_destroy_head);
|
||||
EXPORT_SYMBOL(dsl_destroy_head_sync_impl);
|
||||
EXPORT_SYMBOL(dsl_dataset_user_hold_check_one);
|
||||
|
||||
@@ -2165,7 +2165,7 @@ dsl_dir_is_zapified(dsl_dir_t *dd)
|
||||
return (doi.doi_type == DMU_OTN_ZAP_METADATA);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(dsl_dir_set_quota);
|
||||
EXPORT_SYMBOL(dsl_dir_set_reservation);
|
||||
#endif
|
||||
|
||||
@@ -1208,7 +1208,7 @@ dsl_pool_config_held_writer(dsl_pool_t *dp)
|
||||
return (RRW_WRITE_HELD(&dp->dp_config_rwlock));
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(dsl_pool_config_enter);
|
||||
EXPORT_SYMBOL(dsl_pool_config_exit);
|
||||
|
||||
|
||||
@@ -1251,7 +1251,7 @@ dsl_prop_nvlist_add_string(nvlist_t *nv, zfs_prop_t prop, const char *value)
|
||||
nvlist_free(propval);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(dsl_prop_register);
|
||||
EXPORT_SYMBOL(dsl_prop_unregister);
|
||||
EXPORT_SYMBOL(dsl_prop_unregister_all);
|
||||
|
||||
@@ -3909,7 +3909,7 @@ dsl_scan_freed(spa_t *spa, const blkptr_t *bp)
|
||||
dsl_scan_freed_dva(spa, bp, i);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
/* CSTYLED */
|
||||
module_param(zfs_scan_vdev_limit, ulong, 0644);
|
||||
MODULE_PARM_DESC(zfs_scan_vdev_limit,
|
||||
|
||||
@@ -185,7 +185,7 @@ dsl_sync_task_sync(dsl_sync_task_t *dst, dmu_tx_t *tx)
|
||||
kmem_free(dst, sizeof (*dst));
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(dsl_sync_task);
|
||||
EXPORT_SYMBOL(dsl_sync_task_nowait);
|
||||
#endif
|
||||
|
||||
@@ -57,7 +57,6 @@
|
||||
#include <sys/nvpair.h>
|
||||
#include <sys/cmn_err.h>
|
||||
#include <sys/sysmacros.h>
|
||||
#include <sys/compress.h>
|
||||
#include <sys/sunddi.h>
|
||||
#include <sys/systeminfo.h>
|
||||
#include <sys/fm/util.h>
|
||||
@@ -67,10 +66,6 @@
|
||||
#ifdef _KERNEL
|
||||
#include <sys/atomic.h>
|
||||
#include <sys/condvar.h>
|
||||
#include <sys/cpuvar.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/dumphdr.h>
|
||||
#include <sys/cpuvar.h>
|
||||
#include <sys/console.h>
|
||||
#include <sys/kobj.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
+1
-4
@@ -28,22 +28,19 @@
|
||||
|
||||
#include <sys/debug.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/strings.h>
|
||||
#include "qat.h"
|
||||
|
||||
#ifdef _KERNEL
|
||||
|
||||
#include <sys/systm.h>
|
||||
#include <sys/zmod.h>
|
||||
|
||||
typedef size_t zlen_t;
|
||||
#define compress_func z_compress_level
|
||||
#define uncompress_func z_uncompress
|
||||
|
||||
#else /* _KERNEL */
|
||||
|
||||
#include <strings.h>
|
||||
#include <zlib.h>
|
||||
|
||||
typedef uLongf zlen_t;
|
||||
#define compress_func compress2
|
||||
#define uncompress_func uncompress
|
||||
|
||||
@@ -3850,7 +3850,7 @@ metaslab_check_free(spa_t *spa, const blkptr_t *bp)
|
||||
spa_config_exit(spa, SCL_VDEV, FTAG);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
/* CSTYLED */
|
||||
module_param(metaslab_aliquot, ulong, 0644);
|
||||
MODULE_PARM_DESC(metaslab_aliquot,
|
||||
@@ -3904,4 +3904,4 @@ MODULE_PARM_DESC(zfs_metaslab_switch_threshold,
|
||||
module_param(metaslab_force_ganging, ulong, 0644);
|
||||
MODULE_PARM_DESC(metaslab_force_ganging,
|
||||
"blocks larger than this size are forced to be gang blocks");
|
||||
#endif /* _KERNEL && HAVE_SPL */
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -597,7 +597,7 @@ mmp_signal_all_threads(void)
|
||||
mutex_exit(&spa_namespace_lock);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
#include <linux/mod_compat.h>
|
||||
|
||||
static int
|
||||
|
||||
@@ -403,7 +403,7 @@ multilist_link_active(multilist_node_t *link)
|
||||
return (list_link_active(link));
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
|
||||
/* BEGIN CSTYLED */
|
||||
|
||||
|
||||
@@ -38,9 +38,9 @@
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/pathname.h>
|
||||
#include <sys/kmem.h>
|
||||
#include <sys/sysmacros.h>
|
||||
|
||||
/*
|
||||
* Pathname utilities.
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
#include <sys/zfs_context.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/sysmacros.h>
|
||||
#include <sys/dmu.h>
|
||||
#include <sys/dmu_impl.h>
|
||||
|
||||
+3
-7
@@ -85,11 +85,7 @@
|
||||
#ifdef _KERNEL
|
||||
#include <sys/fm/protocol.h>
|
||||
#include <sys/fm/util.h>
|
||||
#include <sys/bootprops.h>
|
||||
#include <sys/callb.h>
|
||||
#include <sys/cpupart.h>
|
||||
#include <sys/pool.h>
|
||||
#include <sys/sysdc.h>
|
||||
#include <sys/zone.h>
|
||||
#endif /* _KERNEL */
|
||||
|
||||
@@ -162,7 +158,6 @@ static int spa_load_impl(spa_t *spa, spa_import_type_t type, char **ereport,
|
||||
static void spa_vdev_resilver_done(spa_t *spa);
|
||||
|
||||
uint_t zio_taskq_batch_pct = 75; /* 1 thread per cpu in pset */
|
||||
id_t zio_taskq_psrset_bind = PS_NONE;
|
||||
boolean_t zio_taskq_sysdc = B_TRUE; /* use SDC scheduling class */
|
||||
uint_t zio_taskq_basedc = 80; /* base duty cycle */
|
||||
|
||||
@@ -1088,6 +1083,7 @@ spa_create_zio_taskqs(spa_t *spa)
|
||||
static void
|
||||
spa_thread(void *arg)
|
||||
{
|
||||
psetid_t zio_taskq_psrset_bind = PS_NONE;
|
||||
callb_cpr_t cprinfo;
|
||||
|
||||
spa_t *spa = arg;
|
||||
@@ -7795,7 +7791,7 @@ spa_event_notify(spa_t *spa, vdev_t *vd, nvlist_t *hist_nvl, const char *name)
|
||||
spa_event_post(spa_event_create(spa, vd, hist_nvl, name));
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
/* state manipulation functions */
|
||||
EXPORT_SYMBOL(spa_open);
|
||||
EXPORT_SYMBOL(spa_open_rewind);
|
||||
@@ -7852,7 +7848,7 @@ EXPORT_SYMBOL(spa_prop_clear_bootfs);
|
||||
EXPORT_SYMBOL(spa_event_notify);
|
||||
#endif
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
module_param(spa_load_verify_maxinflight, int, 0644);
|
||||
MODULE_PARM_DESC(spa_load_verify_maxinflight,
|
||||
"Max concurrent traversal I/Os while verifying pool during import -X");
|
||||
|
||||
@@ -600,7 +600,7 @@ spa_config_update(spa_t *spa, int what)
|
||||
spa_config_update(spa, SPA_CONFIG_UPDATE_VDEVS);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(spa_config_load);
|
||||
EXPORT_SYMBOL(spa_all_configs);
|
||||
EXPORT_SYMBOL(spa_config_set);
|
||||
|
||||
@@ -404,7 +404,7 @@ spa_errlog_sync(spa_t *spa, uint64_t txg)
|
||||
mutex_exit(&spa->spa_errlog_lock);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
/* error handling */
|
||||
EXPORT_SYMBOL(spa_log_error);
|
||||
EXPORT_SYMBOL(spa_get_errlog_size);
|
||||
|
||||
@@ -183,11 +183,7 @@ static char *
|
||||
spa_history_zone(void)
|
||||
{
|
||||
#ifdef _KERNEL
|
||||
#ifdef HAVE_SPL
|
||||
return ("linux");
|
||||
#else
|
||||
return (curproc->p_zone->zone_name);
|
||||
#endif
|
||||
#else
|
||||
return (NULL);
|
||||
#endif
|
||||
@@ -626,7 +622,7 @@ spa_history_log_version(spa_t *spa, const char *operation, dmu_tx_t *tx)
|
||||
u->nodename, u->release, u->version, u->machine);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(spa_history_create_obj);
|
||||
EXPORT_SYMBOL(spa_history_get);
|
||||
EXPORT_SYMBOL(spa_history_log);
|
||||
|
||||
@@ -2254,7 +2254,7 @@ spa_set_missing_tvds(spa_t *spa, uint64_t missing)
|
||||
spa->spa_missing_tvds = missing;
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
|
||||
#include <linux/mod_compat.h>
|
||||
|
||||
|
||||
@@ -1017,7 +1017,7 @@ spa_stats_destroy(spa_t *spa)
|
||||
spa_mmp_history_destroy(spa);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
/* CSTYLED */
|
||||
module_param(zfs_read_history, int, 0644);
|
||||
MODULE_PARM_DESC(zfs_read_history,
|
||||
|
||||
+1
-1
@@ -934,7 +934,7 @@ txg_list_next(txg_list_t *tl, void *p, uint64_t txg)
|
||||
return (tn == NULL ? NULL : (char *)tn - tl->tl_offset);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(txg_init);
|
||||
EXPORT_SYMBOL(txg_fini);
|
||||
EXPORT_SYMBOL(txg_sync_start);
|
||||
|
||||
+1
-1
@@ -4237,7 +4237,7 @@ vdev_deadman(vdev_t *vd, char *tag)
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(vdev_fault);
|
||||
EXPORT_SYMBOL(vdev_degrade);
|
||||
EXPORT_SYMBOL(vdev_online);
|
||||
|
||||
@@ -425,7 +425,7 @@ vdev_cache_stat_fini(void)
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
module_param(zfs_vdev_cache_max, int, 0644);
|
||||
MODULE_PARM_DESC(zfs_vdev_cache_max, "Inflate reads small than max");
|
||||
|
||||
|
||||
@@ -33,7 +33,6 @@
|
||||
#include <sys/abd.h>
|
||||
#include <sys/fs/zfs.h>
|
||||
#include <sys/zio.h>
|
||||
#include <sys/sunldi.h>
|
||||
#include <linux/mod_compat.h>
|
||||
|
||||
char *zfs_vdev_scheduler = VDEV_SCHEDULER;
|
||||
|
||||
@@ -1687,7 +1687,7 @@ vdev_ops_t vdev_indirect_ops = {
|
||||
B_FALSE /* leaf vdev */
|
||||
};
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(rs_alloc);
|
||||
EXPORT_SYMBOL(spa_condense_fini);
|
||||
EXPORT_SYMBOL(spa_start_indirect_condensing_thread);
|
||||
|
||||
@@ -213,7 +213,7 @@ vdev_indirect_births_physbirth(vdev_indirect_births_t *vib, uint64_t offset,
|
||||
return (-1);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(vdev_indirect_births_add_entry);
|
||||
EXPORT_SYMBOL(vdev_indirect_births_alloc);
|
||||
EXPORT_SYMBOL(vdev_indirect_births_close);
|
||||
|
||||
@@ -596,7 +596,7 @@ vdev_indirect_mapping_free_obsolete_counts(vdev_indirect_mapping_t *vim,
|
||||
vmem_free(counts, vim->vim_phys->vimp_num_entries * sizeof (uint32_t));
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(vdev_indirect_mapping_add_entries);
|
||||
EXPORT_SYMBOL(vdev_indirect_mapping_alloc);
|
||||
EXPORT_SYMBOL(vdev_indirect_mapping_bytes_mapped);
|
||||
|
||||
@@ -774,7 +774,7 @@ vdev_ops_t vdev_spare_ops = {
|
||||
B_FALSE /* not a leaf vdev */
|
||||
};
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
/* BEGIN CSTYLED */
|
||||
module_param(zfs_vdev_mirror_rotating_inc, int, 0644);
|
||||
MODULE_PARM_DESC(zfs_vdev_mirror_rotating_inc,
|
||||
|
||||
@@ -883,7 +883,7 @@ vdev_queue_last_offset(vdev_t *vd)
|
||||
return (vd->vdev_queue.vq_last_offset);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
module_param(zfs_vdev_aggregation_limit, int, 0644);
|
||||
MODULE_PARM_DESC(zfs_vdev_aggregation_limit, "Max vdev I/O aggregation size");
|
||||
|
||||
|
||||
@@ -614,7 +614,7 @@ vdev_raidz_impl_set(const char *val)
|
||||
return (err);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
#include <linux/mod_compat.h>
|
||||
|
||||
static int
|
||||
|
||||
@@ -2102,7 +2102,7 @@ spa_removal_get_stats(spa_t *spa, pool_removal_stat_t *prs)
|
||||
return (0);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
module_param(zfs_remove_max_segment, int, 0644);
|
||||
MODULE_PARM_DESC(zfs_remove_max_segment,
|
||||
"Largest contiguous segment to allocate when removing device");
|
||||
|
||||
@@ -1629,7 +1629,7 @@ zap_get_stats(objset_t *os, uint64_t zapobj, zap_stats_t *zs)
|
||||
return (0);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(zap_create);
|
||||
EXPORT_SYMBOL(zap_create_dnsize);
|
||||
EXPORT_SYMBOL(zap_create_norm);
|
||||
|
||||
@@ -100,7 +100,6 @@
|
||||
#include <sys/zcp_iter.h>
|
||||
#include <sys/zcp_prop.h>
|
||||
#include <sys/zcp_global.h>
|
||||
#include <util/sscanf.h>
|
||||
|
||||
#ifndef KM_NORMALPRI
|
||||
#define KM_NORMALPRI 0
|
||||
|
||||
@@ -27,9 +27,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/sysmacros.h>
|
||||
#include <sys/resource.h>
|
||||
#include <sys/vfs.h>
|
||||
#include <sys/vnode.h>
|
||||
#include <sys/sid.h>
|
||||
@@ -38,7 +36,6 @@
|
||||
#include <sys/kmem.h>
|
||||
#include <sys/cmn_err.h>
|
||||
#include <sys/errno.h>
|
||||
#include <sys/unistd.h>
|
||||
#include <sys/sdt.h>
|
||||
#include <sys/fs/zfs.h>
|
||||
#include <sys/mode.h>
|
||||
@@ -54,7 +51,6 @@
|
||||
#include <sys/sa.h>
|
||||
#include <sys/trace_acl.h>
|
||||
#include <sys/zpl.h>
|
||||
#include "fs/fs_subr.h"
|
||||
|
||||
#define ALLOW ACE_ACCESS_ALLOWED_ACE_TYPE
|
||||
#define DENY ACE_ACCESS_DENIED_ACE_TYPE
|
||||
@@ -98,6 +94,8 @@
|
||||
|
||||
#define ALL_MODE_EXECS (S_IXUSR | S_IXGRP | S_IXOTH)
|
||||
|
||||
#define IDMAP_WK_CREATOR_OWNER_UID 2147483648U
|
||||
|
||||
static uint16_t
|
||||
zfs_ace_v0_get_type(void *acep)
|
||||
{
|
||||
|
||||
@@ -198,7 +198,7 @@ zfs_znode_byteswap(void *buf, size_t size)
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(zfs_oldacl_byteswap);
|
||||
EXPORT_SYMBOL(zfs_acl_byteswap);
|
||||
EXPORT_SYMBOL(zfs_znode_byteswap);
|
||||
|
||||
@@ -71,11 +71,9 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/sysmacros.h>
|
||||
#include <sys/pathname.h>
|
||||
#include <sys/vfs.h>
|
||||
#include <sys/vfs_opreg.h>
|
||||
#include <sys/zfs_ctldir.h>
|
||||
#include <sys/zfs_ioctl.h>
|
||||
#include <sys/zfs_vfsops.h>
|
||||
@@ -85,7 +83,6 @@
|
||||
#include <sys/dmu_objset.h>
|
||||
#include <sys/dsl_destroy.h>
|
||||
#include <sys/dsl_deleg.h>
|
||||
#include <sys/mount.h>
|
||||
#include <sys/zpl.h>
|
||||
#include "zfs_namecheck.h"
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user