Hi all,

So, ZFS on Linux just noticed it was getting bitten by what ultimately
turned out to be Illumos #6513, partially filled holes losing birth time.

Implementing that fix removes this problem for new data, but on all
platforms, this doesn't help data already written on existing pools,
getting munged silently in incremental sends forever.

pcd pointed out that a relatively trivial workaround would be possible by
simply ignoring the hole_birth metadata with something like a global
tunable, but that seems too heavy-handed to me - either you're disabling
the feature everywhere because you don't know when you can start trusting
the birth times, or you're risking silent mangling of affected files
forever.

I'd like to suggest using a read-compatible feature, call it something like
hole_birth_fix, in conjunction with the enabled_txg feature, to permit a
reasonable default of ignoring hole_birth information before the
hole_birth_fix feature was enabled, but still permitting use of it
afterward.

This has the unfortunate behavior of breaking write support if you enable
hole_birth_fix and then try to go back to a prior codebase, but I can't
think of a reasonable way to avoid this.

I filed illumos #7175 to track this proposal - I'll happily write the code
to implement this shortly.

(Apologies if I've over-CCed or missed someone I should be asking for
comment, I've not done this workflow before.)

- Rich



-------------------------------------------
openzfs-developer
Archives: https://www.listbox.com/member/archive/274414/=now
RSS Feed: https://www.listbox.com/member/archive/rss/274414/28015062-cce53afa
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=28015062&id_secret=28015062-f966d51c
Powered by Listbox: http://www.listbox.com

Reply via email to