Special failsafe feature - #6
Open
tonyhutter wants to merge 1 commit into
Open
Conversation
Special failsafe is a feature that allows your special allocation
class vdevs ('special' and 'dedup') to fail without losing any data. It
works by automatically backing up all special data to the pool. This
has the added benefit that you can safely create pools with non-matching
alloc class redundancy (like a mirrored pool with a single special
device).
This behavior is controlled via two properties:
1. feature@special_failsafe - This feature flag enables the special
failsafe subsystem. It prevents the backed-up pool from being
imported read/write on an older version of ZFS that does not
support special failsafe.
2. special_failsafe - This pool property is the main on/off switch
to control special failsafe. If you want to use special failsafe
simply turn it on either at creation time or with `zpool set` prior
to adding a special alloc class device. After special device have
been added, then you can either leave the property on or turn it
off, but once it's off you can't turn it back on again.
Note that special failsafe may create a performance penalty over pure
alloc class writes due to the extra backup copy write to the pool.
Alloc class reads should not be affected as they always read from DVA 0
first (the copy of the data on the special device). It can also inflate
disk usage on dRAID pools.
Closes: openzfs#15118
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
tonyhutter
force-pushed
the
master
branch
2 times, most recently
from
August 18, 2025 23:06
c451efe to
f65321e
Compare
tonyhutter
force-pushed
the
master
branch
26 times, most recently
from
November 12, 2025 19:47
5cb9bd9 to
089d322
Compare
tonyhutter
force-pushed
the
master
branch
15 times, most recently
from
November 13, 2025 17:47
f849a39 to
f93506d
Compare
tonyhutter
force-pushed
the
master
branch
13 times, most recently
from
March 16, 2026 17:55
af86a6f to
8a3deec
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Testing special_failsafe locally