Go to file
Olaf Faaland 0801e4e5c9 Initialize mmp_last_write when the mmp thread starts (#10912)
A great deal of time may go by between when mmp_init() is called and
the MMP thread starts, particularly if there are bad devices, because
there is I/O checking configs etc.  If this time is too long,

    (gethrtime() - mmp_last_write) > mmp_fail_ns

at the time the MMP thread starts.  If MMP is configured to suspend
the pool, the pool will be suspended immediately.

This can be seen in issue #10838

The value of mmp_last_write doesn't matter before the mmp thread
starts.  To give the MMP thread time to issue and land MMP writes,
initialize mmp_last_write when the MMP thread starts.

Reviewed-by: Giuseppe Di Natale <guss80@gmail.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Closes #10873
2020-09-16 00:16:47 +00:00
.github Fix typos 2020-01-22 13:49:00 -08:00
cmd Fix gcc 10.1 stringop-truncation error 2020-09-15 21:16:58 +00:00
config Linux 5.9 compat: NR_SLAB_RECLAIMABLE (#10865) 2020-09-15 21:16:58 +00:00
contrib Fix zfs-functions packaging bug 2020-05-12 10:53:32 -07:00
etc Fix zfs-functions packaging bug 2020-05-12 10:53:32 -07:00
include Appease GCC sprintf warnings found on Fedora 32/GCC 10.0.1 2020-09-15 23:43:12 +00:00
lib Appease GCC sprintf warnings found on Fedora 32/GCC 10.0.1 2020-09-15 23:43:12 +00:00
man ICP: Improve AES-GCM performance 2020-05-12 10:53:32 -07:00
module Initialize mmp_last_write when the mmp thread starts (#10912) 2020-09-16 00:16:47 +00:00
rpm lib/libzfs, rpm: Install pkgconfig files in the correct directory (#10628) 2020-09-15 21:16:58 +00:00
scripts Fix typos 2020-01-22 13:49:00 -08:00
tests ICP: Improve AES-GCM performance 2020-05-12 10:53:32 -07:00
udev Restore :: in Makefile.am 2020-05-12 10:53:32 -07:00
.gitignore Adapt gitignore for modules 2020-01-22 13:49:05 -08: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 Linux 5.9 compat: add linux/blkdev.h include 2020-09-15 21:16:58 +00: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 Fix zfs-functions packaging bug 2020-05-12 10:53:32 -07:00
copy-builtin Allow copy-builtin to work with modified sources 2018-10-17 12:06:05 -07:00
COPYRIGHT ICP: Improve AES-GCM performance 2020-05-12 10:53:32 -07:00
LICENSE Update build system and packaging 2018-05-29 16:00:33 -07:00
Makefile.am Perform KABI checks in parallel 2020-01-22 13:49:01 -08:00
META Tag zfs-0.8.4 2020-05-12 10:53:32 -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.