OpenZFS on Linux and FreeBSD
Go to file
Tom Caputi ab4c009e3d Fix dbgmsg printing in ztest and zdb
This patch resolves a problem where the -G option in both zdb and
ztest would cause the code to call __dprintf() to print zfs_dbgmsg
output. This function was not properly wired to add messages to the
dbgmsg log as it is in userspace and so the messages were simply
dropped. This patch also tries to add some degree of distinction to
dprintf() (which now prints directly to stdout) and zfs_dbgmsg()
(which adds messages to an internal list that can be dumped with
zfs_dbgmsg_print()).

In addition, this patch corrects an issue where ztest used a global
variable to decide whether to dump the dbgmsg buffer on a crash.
This did not work because ztest spins up more instances of itself
using execv(), which did not copy the global variable to the new
process. The option has been moved to the ztest_shared_opts_t
which already exists for interprocess communication.

This patch also changes zfs_dbgmsg_print() to use write() calls
instead of printf() so that it will not fail when used in a signal
handler.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Serapheim Dimitropoulos <serapheim.dimitro@delphix.com>
Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Signed-off-by: Tom Caputi <tcaputi@datto.com>
Closes #8010
2018-10-24 14:36:50 -07:00
.github Advise users to retain issue/PR templates 2018-10-17 10:25:38 -07:00
cmd Fix dbgmsg printing in ztest and zdb 2018-10-24 14:36:50 -07:00
config Fix statfs(2) for 32-bit user space 2018-09-24 17:11:25 -07:00
contrib Allow use of pool GUID as root pool 2018-10-23 20:06:40 -07:00
etc Minor documentation, logging, and testing typos 2018-06-07 09:38:39 -07:00
include Fix dbgmsg printing in ztest and zdb 2018-10-24 14:36:50 -07:00
lib Fix dbgmsg printing in ztest and zdb 2018-10-24 14:36:50 -07:00
man Defer new resilvers until the current one ends 2018-10-18 21:06:18 -07:00
module Fix dbgmsg printing in ztest and zdb 2018-10-24 14:36:50 -07:00
rpm Add zts-report.py to python shebang exclusion 2018-10-15 16:59:28 -07:00
scripts Make gitrev more reliable 2018-10-22 12:23:30 -07:00
tests ZTS: Update project quota tests 2018-10-23 19:53:14 -07:00
udev Add kernel module auto-loading 2018-03-13 10:45:55 -07:00
.gitignore Ignore *.o.ur-safe build artifacts 2018-05-13 18:59:02 -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
COPYRIGHT Update build system and packaging 2018-05-29 16:00:33 -07:00
LICENSE Update build system and packaging 2018-05-29 16:00:33 -07:00
META Tag 0.8.0-rc1 2018-09-07 09:35:09 -07:00
Makefile.am Linux does not HAVE_DNLC 2018-10-17 10:30:08 -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
autogen.sh Cause autogen.sh to fail if autoreconf fails 2018-07-06 09:27:37 -07:00
configure.ac Defer new resilvers until the current one ends 2018-10-18 21:06:18 -07:00
copy-builtin Allow copy-builtin to work with modified sources 2018-10-17 12:06:05 -07:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

README.md

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.