Go to file
Tom Caputi a783dd9684 Fix lock inversion in txg_sync_thread()
This patch fixes a lock inversion issue in txg_sync_thread() where
the code would attempt hold the spa config lock as a reader while
holding tx->tx_sync_lock. This races with spa_vdev_remove() which
attempts to hold the tx->tx_sync_lock to assign a new tx (via
spa_history_log_internal()) while holding the spa config lock as a
writer.

Reviewed-by: Serapheim Dimitropoulos <serapheim.dimitro@delphix.com>
Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Co-authored-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tom Caputi <tcaputi@datto.com>
Closes #8010
2018-10-24 14:37:02 -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 lock inversion in txg_sync_thread() 2018-10-24 14:37:02 -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
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
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
Makefile.am Linux does not HAVE_DNLC 2018-10-17 10:30:08 -07:00
META Tag 0.8.0-rc1 2018-09-07 09:35:09 -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.