Message ID | pull.1093.v5.git.1646866998.gitgitgadget@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | A design for future-proofing fsync() configuration | expand |
Hi, these three patches apply on top of Neeraj's v5 of his "A design for future-proofing fsync() configuration". I'm sending this as a reply to his v5 to keep the discussion in one place -- I think ultimately, we may want to merge both series into a single one anyway. But please shout at me if this is considered bad style and I'll split it out into a separate thread. In any case, these three patches implement fsyncing for loose and packed references using the proposed `core.fsync` option, with three additional knobs: - "loose-ref" will fsync loose references. - "packed-refs" will fsync packed references. - "refs" will fsync all references, which should ideally also include all new backends like the reftable backend. I think this extension demonstrates that the design proposed by Neeraj is quite easy to extend without too much boilerplate. Patrick Patrick Steinhardt (3): core.fsync: add `fsync_component()` wrapper which doesn't die core.fsync: new option to harden loose references core.fsync: new option to harden packed references Documentation/config/core.txt | 3 +++ cache.h | 22 ++++++++++++++++++---- config.c | 3 +++ refs/files-backend.c | 29 +++++++++++++++++++++++++++++ refs/packed-backend.c | 3 ++- write-or-die.c | 10 ++++++---- 6 files changed, 61 insertions(+), 9 deletions(-)