reftable/stack: fsync "tables.list" during compaction
commit7fa52fdad5065382f2b27b14cc0ecd225ea0ce4d
authorPatrick Steinhardt <ps@pks.im>
Tue, 30 Jan 2024 05:22:47 +0000 (30 06:22 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 30 Jan 2024 19:56:15 +0000 (30 11:56 -0800)
treeffb919e39dbf8ca0a98666d7c49f9f00abeefe5a
parent1df18a1c9a50b58afb19ef218f6517f347606800
reftable/stack: fsync "tables.list" during compaction

In 1df18a1c9a (reftable: honor core.fsync, 2024-01-23), we have added
code to fsync both newly written reftables as well as "tables.list" to
disk. But there are two code paths where "tables.list" is being written:

  - When appending a new table due to a normal ref update.

  - When compacting a range of tables during compaction.

We have only addressed the former code path, but do not yet sync the new
"tables.list" file in the latter. Fix this omission.

Note that we are not yet adding any tests. These tests will be added
once the "reftable" backend has been upstreamed.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
reftable/stack.c