Go to file
Prakash Surya e5d1c27e30 Enable use of DTRACE_PROBE* macros in "spl" module
This change modifies some of the infrastructure for enabling the use of
the DTRACE_PROBE* macros, such that we can use tehm in the "spl" module.

Currently, when the DTRACE_PROBE* macros are used, they get expanded to
create new functions, and these dynamically generated functions become
part of the "zfs" module.

Since the "spl" module does not depend on the "zfs" module, the use of
DTRACE_PROBE* in the "spl" module would result in undefined symbols
being used in the "spl" module. Specifically, DTRACE_PROBE* would turn
into a function call, and the function being called would be a symbol
only contained in the "zfs" module; which results in a linker and/or
runtime error.

Thus, this change adds the necessary logic to the "spl" module, to
mirror the tracing functionality available to the "zfs" module. After
this change, we'll have a "trace_zfs.h" header file which defines the
probes available only to the "zfs" module, and a "trace_spl.h" header
file which defines the probes available only to the "spl" module.

Reviewed by: Brad Lewis <brad.lewis@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Prakash Surya <prakash.surya@delphix.com>
Closes #9525
2019-11-01 13:13:43 -07:00
.github Fix typos 2019-09-02 18:17:39 -07:00
cmd Prefix struct rangelock 2019-11-01 10:37:33 -07:00
config Linux 4.14, 4.19, 5.0+ compat: SIMD save/restore 2019-10-24 10:17:33 -07:00
contrib dracut/zfs-load-key.sh: properly remove prefixes 2019-10-30 14:38:41 -07:00
etc Workaround to avoid a race when /var/lib is a persistent dataset 2019-10-02 10:51:55 -07:00
include Enable use of DTRACE_PROBE* macros in "spl" module 2019-11-01 13:13:43 -07:00
lib Enable use of DTRACE_PROBE* macros in "spl" module 2019-11-01 13:13:43 -07:00
man Add AVX512BW variant of fletcher 2019-10-30 12:26:14 -07:00
module Enable use of DTRACE_PROBE* macros in "spl" module 2019-11-01 13:13:43 -07:00
rpm Canonicalize Python shebangs 2019-09-12 13:32:32 -07:00
scripts Move platform independent tests to a shared runfile 2019-10-09 10:39:26 -07:00
tests ZTS: Fix removal_with_errors 2019-10-31 12:57:42 -07:00
udev Restore :: in Makefile.am 2019-08-26 11:48:31 -07:00
.gitignore Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
.gitmodules Add zimport.sh compatibility test script 2014-02-21 12:10:31 -08:00
.travis.yml Add .travis.yml 2017-11-13 09:18:18 -08:00
AUTHORS Update build system and packaging 2018-05-29 16:00:33 -07:00
autogen.sh Cause autogen.sh to fail if autoreconf fails 2018-07-06 09:27:37 -07:00
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT.md 2019-04-30 10:58:45 -07:00
configure.ac Sort list of generated files in configure.ac 2019-10-09 10:54:22 -07:00
copy-builtin copy-builtin: SPL must be in Kbuild first (again) 2019-09-11 11:09:50 -07:00
COPYRIGHT OpenZFS restructuring - move platform specific sources 2019-09-06 11:26:26 -07:00
LICENSE Update build system and packaging 2018-05-29 16:00:33 -07:00
Makefile.am Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
META Tag 0.8.0 2019-05-21 11:11:41 -07:00
NEWS Add NEWS file 2018-09-18 12:03:47 -07:00
NOTICE Update build system and packaging 2018-05-29 16:00:33 -07:00
README.md Explicitly state supported Linux versions 2018-05-30 20:11:19 -07:00
TEST Update build system and packaging 2018-05-29 16:00:33 -07:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

img

ZFS on Linux is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the OpenZFS community.

codecov coverity

Official Resources

Installation

Full documentation for installing ZoL on your favorite Linux distribution can be found at our site.

Contribute & Develop

We have a separate document with contribution guidelines.

Release

ZFS on Linux is released under a CDDL license.
For more details see the NOTICE, LICENSE and COPYRIGHT files; UCRL-CODE-235197

Supported Kernels

  • The META file contains the officially recognized supported kernel versions.