aboutsummaryrefslogtreecommitdiff
path: root/reftable/reader.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2024-09-03 09:15:02 -0700
committerJunio C Hamano <gitster@pobox.com>2024-09-03 09:15:03 -0700
commit17636cdf3b0bf344a2e3090fd8bf254cf3ec0a2f (patch)
treee3171d88382d6a79da84cd6135c4a23d71418d9b /reftable/reader.h
parentdd903659cd54d4e21ca41b0c1f5d10b66763eb60 (diff)
parent85da2a2ab62e24a8b9ff183fe3a451b445632487 (diff)
downloadgit-17636cdf3b0bf344a2e3090fd8bf254cf3ec0a2f.tar.xz
Merge branch 'ps/reftable-concurrent-compaction'
The code path for compacting reftable files saw some bugfixes against concurrent operation. * ps/reftable-concurrent-compaction: reftable/stack: fix segfault when reload with reused readers fails reftable/stack: reorder swapping in the reloaded stack contents reftable/reader: keep readers alive during iteration reftable/reader: introduce refcounting reftable/stack: fix broken refnames in `write_n_ref_tables()` reftable/reader: inline `reader_close()` reftable/reader: inline `init_reader()` reftable/reader: rename `reftable_new_reader()` reftable/stack: inline `stack_compact_range_stats()` reftable/blocksource: drop malloc block source
Diffstat (limited to 'reftable/reader.h')
-rw-r--r--reftable/reader.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/reftable/reader.h b/reftable/reader.h
index a2c204d523..3710ee09b4 100644
--- a/reftable/reader.h
+++ b/reftable/reader.h
@@ -50,11 +50,10 @@ struct reftable_reader {
struct reftable_reader_offsets ref_offsets;
struct reftable_reader_offsets obj_offsets;
struct reftable_reader_offsets log_offsets;
+
+ uint64_t refcount;
};
-int init_reader(struct reftable_reader *r, struct reftable_block_source *source,
- const char *name);
-void reader_close(struct reftable_reader *r);
const char *reader_name(struct reftable_reader *r);
void reader_init_iter(struct reftable_reader *r,