Go to file
Brian Behlendorf a32494d22a Fix suspend Godfather I/Os io_reexecute bits
After resuming a pool the godfather zio could have both the
ZIO_REEXECUTE_NOW and ZIO_REEXECUTE_SUSPEND bits set.  This
can occur if some child zios set ZIO_REEXECUTE_NOW while
other set ZIO_REEXECUTE_SUSPEND.  The godfather zio can
inherit both flags in zio_notify_parent().

The child zios which assigned the ZIO_REEXECUTE_SUSPEND flag
will be removed from the godfather's child list and added to
the spa->spa_suspend_zio_root child list.   While child zios
with the ZIO_REEXECUTE_NOW bit set remain being monitored
by the godfather zio.

When the godfather zio executes zio_done() the presence of
the ZIO_REEXECUTE_SUSPEND bit results in all io_reexecute
being cleared.  These child zios will then not be re-executed
and instead will be destroyed and lost.

The most straight forward way to address this situation is
to only clear the ZIO_REEXECUTE_SUSPEND bit and leave the
ZIO_REEXECUTE_NOW bit set.

Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: yuxiang <guo.yong33@zte.com.cn>
2017-01-28 12:13:34 -08:00
.github Further work on Github usability (issue templates) 2017-01-03 15:01:48 -06:00
cmd OpenZFS 7386 - zfs get does not work properly with bookmarks 2017-01-26 14:42:15 -08:00
config Add -Wno-declaration-after-statement to KERNELCPPFLAGS 2017-01-28 12:12:25 -08:00
contrib Fix spelling 2017-01-03 11:31:18 -06:00
etc Fix zfs-share systemd unit file 2017-01-13 13:24:17 -08:00
include OpenZFS 7301 - zpool export -f should be able to interrupt file freeing 2017-01-27 11:46:39 -08:00
lib OpenZFS 7340 - receive manual origin should override automatic origin 2017-01-27 11:47:54 -08:00
man OpenZFS 7386 - zfs get does not work properly with bookmarks 2017-01-26 14:42:15 -08:00
module Fix suspend Godfather I/Os io_reexecute bits 2017-01-28 12:13:34 -08:00
rpm Add -c to zpool iostat & status to run command 2016-11-29 14:45:38 -07:00
scripts OpenZFS 7348 - cstyle can't handle ellipsis on continuation line 2017-01-26 12:40:22 -08:00
tests Retire .write/.read file operations 2017-01-27 10:43:39 -08:00
udev Fix spelling 2017-01-03 11:31:18 -06:00
.gitignore Update .gitignore 2016-10-19 14:29:33 -07:00
.gitmodules Add zimport.sh compatibility test script 2014-02-21 12:10:31 -08:00
AUTHORS Add a missing > to AUTHORS 2014-09-02 14:18:53 -07:00
autogen.sh build: do not call boilerplate ourself 2013-04-02 10:55:20 -07:00
configure.ac Add test for chattr 2016-12-16 16:07:41 -08:00
copy-builtin Illumos Crypto Port module added to enable native encryption in zfs 2016-07-20 10:43:30 -07:00
COPYRIGHT Update ZED copyright boilerplate 2015-05-11 15:07:00 -07:00
DISCLAIMER Fix minor typos and update marketing copy. 2013-03-21 12:51:06 -07:00
Makefile.am Use cstyle -cpP in make cstyle check 2016-12-12 10:46:26 -08:00
META Tag 0.7.0-rc3 2017-01-20 10:18:28 -08:00
OPENSOLARIS.LICENSE Add CDDL license file 2008-12-01 14:49:34 -08:00
README.markdown Add CONTRIBUTING information and templates 2016-12-09 12:48:12 -07:00
TEST Skip xfstests on Ubuntu 16.04 and CentOS 7 2016-12-14 09:36:14 -08:00
zfs-script-config.sh.in Introduce tests for python scripts 2016-10-06 13:11:57 -07:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

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

ZFS on Linux, which is also known as ZoL, is currently feature complete. It includes fully functional and stable SPA, DMU, ZVOL, and ZPL layers. And it's native!

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.