Hi Boris, A full send of the affected snapshots should be safe, AIUI - but that means people would need to do non-incremental snapshot sends to be certain of not hitting this bug, which becomes increasingly infeasible as your datasets grow.
If we're looking for the simplest solution without risk of data corruption, unconditionally ignoring the hole_birth data for doing a zfs send fits the bill, but seems a bit heavy-handed. This seemed like the best way to permit people to safely send older datasets while also permitting use of the hole_birth data going forward. - Rich On Fri, Jul 8, 2016 at 11:03 AM, Boris <bprotopo...@hotmail.com> wrote: > Hi, Rich, > > > perhaps there is a simpler solution here. > > > I think for the datasets affected by this feature, a full (not > incremental) send of the source snapshot that has some holes that have not > been transmitted by the faulty incremental send code, should fix the issue, > as far as the on-disk layout is concerned. > > > Boris. > > ------------------------------ > *From:* Rich <rincebr...@gmail.com> > *Sent:* Thursday, July 7, 2016 8:30:54 PM > *To:* developer; Developer Lists Illumos > *Subject:* [developer] Improvements to 6513 handling > > 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> > <https://www.listbox.com/member/archive/rss/274414/28015372-192ee3b3> | > Modify > <https://www.listbox.com/member/?&> > Your Subscription <http://www.listbox.com> > ------------------------------------------- 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