Go to file
Brian Behlendorf 09b85f2ded
ztest: reduce gangblock creation
In order to validate the gang block code ztest is configured to
artificially force a fraction of large blocks to be written as
gang blocks.  The default setting chosen for this was to
write 25% of all blocks 32k or larger using gang blocks.

The confluence of an unrealistically large number of gang blocks,
the aggressive fault injection done by ztest, and the split
segment reconstruction logic introduced by device removal has
resulted in the following type of failure:

  zdb -bccsv -G -d ... exit code 3

Specifically, zdb was unable to open the pool because it was
unable to reconstruct a damaged block.  Manual investigation
of multiple failures clearly showed that the block could be
reconstructed.  However, due to the large number of damaged
segments (>35) it could not be done in the allotted time.

Furthermore, the large number of gang blocks was determined
to be the reason for the unrealistically large number of
damaged segments.  In order to make this situation less
likely, this change both increases the forced gang block
size to 64k and reduces the frequency to 3% of blocks.

Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Tom Caputi <tcaputi@datto.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #8080
2018-11-05 11:53:49 -08:00
.github Advise users to retain issue/PR templates 2018-10-17 10:25:38 -07:00
cmd ztest: reduce gangblock creation 2018-11-05 11:53:49 -08: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 Add libzutil for libzfs or libzpool consumers 2018-11-05 11:22:33 -08:00
lib Add libzutil for libzfs or libzpool consumers 2018-11-05 11:22:33 -08:00
man Update zfs-events.5 with info from PSARC 2009/497 2018-11-01 15:54:55 -07:00
module ztest: reduce gangblock creation 2018-11-05 11:53:49 -08: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: Fix posix ACL tests that should pass 2018-10-31 18:58:43 -05: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 Add libzutil for libzfs or libzpool consumers 2018-11-05 11:22:33 -08: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.