ZFS on Linux - the official OpenZFS implementation for Linux.
C Shell Assembly M4 Makefile Python Other
Latest commit 390d679 Dec 28, 2017 @loli10K loli10K committed with behlendorf Fix 'zpool add' handling of nested interior VDEVs
When replacing a faulted device which was previously handled by a spare
multiple levels of nested interior VDEVs will be present in the pool
configuration; the following example illustrates one of the possible
situations:

   NAME                          STATE     READ WRITE CKSUM
   testpool                      DEGRADED     0     0     0
     raidz1-0                    DEGRADED     0     0     0
       spare-0                   DEGRADED     0     0     0
         replacing-0             DEGRADED     0     0     0
           /var/tmp/fault-dev    UNAVAIL      0     0     0  cannot open
           /var/tmp/replace-dev  ONLINE       0     0     0
         /var/tmp/spare-dev1     ONLINE       0     0     0
       /var/tmp/safe-dev         ONLINE       0     0     0
   spares
     /var/tmp/spare-dev1         INUSE     currently in use

This is safe and allowed, but get_replication() needs to handle this
situation gracefully to let zpool add new devices to the pool.

Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
Closes #6678 
Closes #6996
Permalink
Failed to load latest commit information.
.github Update for cppcheck v1.80 Nov 18, 2017
cmd Fix 'zpool add' handling of nested interior VDEVs Dec 28, 2017
config Fix --with-systemd on Debian-based distributions (#6963) Dec 17, 2017
contrib Honor --with-mounthelperdir where applicable Dec 17, 2017
etc Cleanup systemd dependencies Nov 8, 2017
include OpenZFS 8909 - 8585 can cause a use-after-free kernel panic Dec 28, 2017
lib Remove lib/libspl/include/sys/frame.h Dec 17, 2017
man OpenZFS 8909 - 8585 can cause a use-after-free kernel panic Dec 28, 2017
module OpenZFS 8909 - 8585 can cause a use-after-free kernel panic Dec 28, 2017
rpm Fix --with-systemd on Debian-based distributions (#6963) Dec 17, 2017
scripts OpenZFS 8794 - cstyle generates warnings with recent perl Dec 19, 2017
tests Fix 'zpool add' handling of nested interior VDEVs Dec 28, 2017
udev Fix spelling Jan 3, 2017
.gitignore Add configure option to enable gcov analysis Sep 15, 2017
.gitmodules Add zimport.sh compatibility test script Feb 21, 2014
.travis.yml Add .travis.yml Nov 13, 2017
AUTHORS Add a missing > to AUTHORS Sep 2, 2014
COPYRIGHT Encryption patch follow-up Oct 11, 2017
DISCLAIMER Fix minor typos and update marketing copy. Mar 21, 2013
META Tag zfs-0.7.0 Jul 26, 2017
Makefile.am Update for cppcheck v1.80 Nov 18, 2017
OPENSOLARIS.LICENSE Add CDDL license file Dec 1, 2008
README.markdown Add scan.coverity.com badge to README Oct 30, 2017
TEST Refresh TEST file to include new variables Nov 8, 2017
autogen.sh build: do not call boilerplate ourself Apr 2, 2013
configure.ac contrib/initramfs: switch to automake Nov 7, 2017
copy-builtin Allow c99 when building ZFS in the kernel tree Mar 27, 2017
zfs.release.in Move zfs.release generation to configure step Jul 12, 2012

README.markdown

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.