Closed jimklimov closed 3 months ago
See the :open_file_folder: files view, the :scroll:action log, or :memo: job summary for details.
hashmaps idx LRds rindex substr
Thanks for the review, and the master-branch bump (docker fix), nice to see it all claim to be green again :)
removing the extra snapshots quickly seems like a good move!
I don't think this PR tackles it directly - this is part of createSnapshot()
and was for a while (since #154 at least?); this change here (and started by "externalization" of code in #623) modifies how users can state more easily which datasets are not-enabled for znapzend handling so their snapshots would be removed earlier. Also #626 takes care of skipping zfs send
for whatever datasets are in the not-enabled lists (also builds upon #623, but is independent of the change in this PR -- so if that one is merged alone, it would be about skipping exactly the datasets with enabled=off
and no care for recursions).
Hm, I don't actually see any docs about the enabled=off
handling :\
UPDATE: Actually, README.md
starts out to say how this is not supported :) I'll claim it as "experimental" instead and document as such.
Ok, so after the merge of groundwork from #623 the specific changes of this PR are much better visible :)
(Includes and) Follows up from #623 with a practical feature: if the same intermediate dataset that declares
enabled=off
also saysrecursive=on
, the disablement takes place for descendants as well.As discussed among ideas in #623, this PR adds recognition for datasets (descendants of a "backupSet") which declare not only an
org.znapzend:enabled
value but optionally also anorg.znapzend:recursive
one (so only these one or two ZFS properties are defined in a local source dataset under the one which defines a full retention schedule).It also somewhat reasonably defines behavior for such dataset trees where a
backupSet
with a full retention schedule has some descendant which defines anenabled=off
behavior (individual or recursive), and some of its descendants re-enable the backup (individually or recursively). I'm sure this can be tested with mocks, but out of time at least today, maybe longer, to pursue testing. Worked as expected in a real-life setup (which however did not try all edge cases) :)This is also seen in
znapzendzetup list
outputs: