aboutsummaryrefslogtreecommitdiffstats
path: root/reftable/stack.c
AgeCommit message (Expand)AuthorFilesLines
2025-11-10reftable/stack: add function to check if optimization is requiredKarthik Nayak1-5/+37
2025-11-10reftable/stack: return stack segments directlyKarthik Nayak1-11/+12
2025-10-13Merge branch 'kn/reftable-consistency-checks'Junio C Hamano1-6/+1
2025-10-07reftable: check for trailing newline in 'tables.list'Karthik Nayak1-6/+1
2025-08-12reftable: don't second-guess errors from flock interfacePatrick Steinhardt1-29/+8
2025-08-12reftable/stack: handle outdated stacks when compactingPatrick Steinhardt1-6/+26
2025-08-12reftable/stack: allow passing flags to `reftable_stack_add()`Patrick Steinhardt1-4/+4
2025-08-12reftable/stack: fix compiler warning due to missing bracesPatrick Steinhardt1-7/+7
2025-08-12reftable/stack: reorder code to avoid forward declarationsPatrick Steinhardt1-188/+176
2025-04-07reftable/constants: make block types part of the public interfacePatrick Steinhardt1-4/+4
2025-04-07reftable/reader: rename data structure to "table"Patrick Steinhardt1-84/+84
2025-04-07reftable: fix formatting of the license headerPatrick Steinhardt1-6/+6
2025-02-18reftable/stack: stop using `sleep_millisec()`Patrick Steinhardt1-1/+1
2025-02-18reftable/system: introduce `reftable_rand()`Patrick Steinhardt1-2/+2
2025-02-18reftable/stack: stop using `write_in_full()`Patrick Steinhardt1-4/+24
2025-02-18reftable/stack: stop using `read_in_full()`Patrick Steinhardt1-4/+14
2025-02-14Merge branch 'kn/reflog-migration-fix-followup'Junio C Hamano1-2/+4
2025-01-28Merge branch 'ps/reftable-sign-compare'Junio C Hamano1-7/+5
2025-01-22reftable: prevent 'update_index' changes after adding recordsKarthik Nayak1-2/+4
2025-01-21reftable: address trivial -Wsign-compare warningsPatrick Steinhardt1-7/+5
2025-01-07reftable/stack: accept insecure random bytesPatrick Steinhardt1-2/+2
2025-01-07wrapper: allow generating insecure random bytesPatrick Steinhardt1-1/+1
2024-12-28reftable: avoid leaks on realloc errorRené Scharfe1-3/+5
2024-12-23Merge branch 'ps/reftable-alloc-failures-zalloc-fix'Junio C Hamano1-10/+17
2024-12-22reftable/stack: fix zero-sized allocation when there are no readersPatrick Steinhardt1-10/+14
2024-12-22reftable/stack: don't perform auto-compaction with less than two tablesPatrick Steinhardt1-0/+3
2024-11-26reftable/stack: add mechanism to notify callers on reloadPatrick Steinhardt1-0/+4
2024-11-26reftable/stack: add accessor for the hash IDPatrick Steinhardt1-0/+5
2024-11-19reftable/system: provide thin wrapper for lockfile subsystemPatrick Steinhardt1-36/+27
2024-11-19reftable/stack: drop only use of `get_locked_file_path()`Patrick Steinhardt1-3/+9
2024-11-19reftable/system: provide thin wrapper for tempfile subsystemPatrick Steinhardt1-34/+23
2024-11-19reftable/stack: stop using `fsync_component()` directlyPatrick Steinhardt1-17/+32
2024-11-19reftable/system: stop depending on "hash.h"Patrick Steinhardt1-2/+2
2024-10-17reftable: handle trivial `reftable_buf` errorsPatrick Steinhardt1-16/+33
2024-10-17reftable/stack: adapt `stack_filename()` to handle allocation failuresPatrick Steinhardt1-17/+45
2024-10-17reftable/stack: adapt `format_name()` to handle allocation failuresPatrick Steinhardt1-9/+19
2024-10-17reftable: convert from `strbuf` to `reftable_buf`Patrick Steinhardt1-60/+60
2024-10-17reftable: stop using `strbuf_addf()`Patrick Steinhardt1-6/+12
2024-10-10Merge branch 'ps/reftable-alloc-failures'Junio C Hamano1-44/+143
2024-10-02reftable: introduce `REFTABLE_FREE_AND_NULL()`Patrick Steinhardt1-4/+4
2024-10-02reftable: fix calls to free(3P)Patrick Steinhardt1-1/+1
2024-10-02reftable: handle trivial allocation failuresPatrick Steinhardt1-0/+20
2024-10-02reftable/stack: handle allocation failures in auto compactionPatrick Steinhardt1-4/+12
2024-10-02reftable/stack: handle allocation failures in `stack_compact_range()`Patrick Steinhardt1-2/+17
2024-10-02reftable/stack: handle allocation failures in `reftable_new_stack()`Patrick Steinhardt1-8/+26
2024-10-02reftable/stack: handle allocation failures on reloadPatrick Steinhardt1-9/+25
2024-10-02reftable/merged: handle allocation failures in `merged_table_init_iter()`Patrick Steinhardt1-11/+23
2024-10-02reftable/writer: handle allocation failures in `reftable_new_writer()`Patrick Steinhardt1-4/+10
2024-10-02reftable/basics: handle allocation failures in `parse_names()`Patrick Steinhardt1-1/+5
2024-09-24reftable/stack: allow locking of outdated stacksPatrick Steinhardt1-7/+13
2024-09-24refs/reftable: introduce "reftable.lockTimeout"Patrick Steinhardt1-6/+12
2024-08-23reftable/stack: fix segfault when reload with reused readers failsPatrick Steinhardt1-0/+23
2024-08-23reftable/stack: reorder swapping in the reloaded stack contentsPatrick Steinhardt1-15/+19
2024-08-23reftable/reader: introduce refcountingPatrick Steinhardt1-4/+4
2024-08-23reftable/reader: inline `reader_close()`Patrick Steinhardt1-4/+1
2024-08-23reftable/reader: rename `reftable_new_reader()`Patrick Steinhardt1-2/+2
2024-08-23reftable/stack: inline `stack_compact_range_stats()`Patrick Steinhardt1-12/+4
2024-08-22reftable/generic: drop interfacePatrick Steinhardt1-1/+0
2024-08-22t/helper: inline `reftable_stack_print_directory()`Patrick Steinhardt1-20/+0
2024-08-22reftable/stack: open-code reading refsPatrick Steinhardt1-3/+22
2024-08-22reftable/merged: stop using generic tables in the merged tablePatrick Steinhardt1-30/+18
2024-08-22reftable/merged: rename `reftable_new_merged_table()`Patrick Steinhardt1-2/+2
2024-08-08reftable/stack: handle locked tables during auto-compactionPatrick Steinhardt1-10/+49
2024-08-08reftable/stack: fix corruption on concurrent compactionPatrick Steinhardt1-5/+102
2024-08-08reftable/stack: use lock_file when adding table to "tables.list"Patrick Steinhardt1-10/+11
2024-08-08reftable/stack: do not die when fsyncing lock file filesPatrick Steinhardt1-2/+5
2024-08-08reftable/stack: simplify tracking of table locksPatrick Steinhardt1-7/+7
2024-08-08reftable/stack: update stats on failed full compactionPatrick Steinhardt1-7/+7
2024-08-08reftable/stack: refactor function to gather table sizesPatrick Steinhardt1-5/+6
2024-06-17Merge branch 'ps/no-writable-strings'Junio C Hamano1-4/+6
2024-06-17Merge branch 'ps/ref-storage-migration'Junio C Hamano1-6/+2
2024-06-07global: improve const correctness when assigning string constantsPatrick Steinhardt1-4/+6
2024-06-06reftable: inline `merged_table_release()`Patrick Steinhardt1-6/+2
2024-05-30Merge branch 'ps/reftable-reusable-iterator'Junio C Hamano1-5/+23
2024-05-13reftable/merged: adapt interface to allow reuse of iteratorsPatrick Steinhardt1-5/+9
2024-05-13reftable/stack: provide convenience functions to create iteratorsPatrick Steinhardt1-0/+15
2024-05-13reftable: make the compaction factor configurablePatrick Steinhardt1-4/+10
2024-05-13reftable: pass opts as constant pointerPatrick Steinhardt1-2/+5
2024-05-13reftable: consistently refer to `reftable_write_options` as `opts`Patrick Steinhardt1-21/+20
2024-05-08Merge branch 'ps/reftable-write-optim'Junio C Hamano1-66/+1
2024-04-08reftable: remove name checksPatrick Steinhardt1-66/+1
2024-04-08reftable/stack: use geometric table compactionJustin Tobler1-61/+62
2024-04-08reftable/stack: expose option to disable auto-compactionJustin Tobler1-1/+1
2024-03-25reftable/stack: gracefully handle failed auto-compaction due to locksPatrick Steinhardt1-1/+12
2024-03-25reftable/stack: use error codes when locking fails during compactionPatrick Steinhardt1-5/+13
2024-03-25reftable/error: discern locked/outdated errorsPatrick Steinhardt1-3/+3
2024-03-25reftable/stack: fix error handling in `reftable_stack_init_addition()`Patrick Steinhardt1-6/+1
2024-03-07reftable/stack: register compacted tables as tempfilesPatrick Steinhardt1-24/+30
2024-03-07reftable/stack: register lockfiles during compactionPatrick Steinhardt1-134/+121
2024-03-07reftable/stack: register new tables as tempfilesPatrick Steinhardt1-17/+12
2024-02-12Merge branch 'ps/reftable-styles'Junio C Hamano1-81/+72
2024-02-06Merge branch 'ps/reftable-compacted-tables-permission-fix'Junio C Hamano1-0/+6
2024-02-06Merge branch 'jc/reftable-core-fsync'Junio C Hamano1-3/+21
2024-02-06reftable/stack: use `size_t` to track stack lengthPatrick Steinhardt1-11/+10
2024-02-06reftable/stack: use `size_t` to track stack slices during compactionPatrick Steinhardt1-16/+16
2024-02-06reftable/stack: index segments with `size_t`Patrick Steinhardt1-14/+11
2024-02-06reftable/stack: fix parameter validation when compacting rangePatrick Steinhardt1-11/+13
2024-02-06reftable: introduce macros to allocate arraysPatrick Steinhardt1-15/+13
2024-02-06reftable: introduce macros to grow arraysPatrick Steinhardt1-17/+12
2024-01-30reftable/stack: fsync "tables.list" during compactionPatrick Steinhardt1-0/+8
2024-01-29Merge branch 'ps/reftable-optimize-io'Junio C Hamano1-46/+154
2024-01-26reftable/stack: adjust permissions of compacted tablesPatrick Steinhardt1-0/+6
2024-01-23reftable: honor core.fsyncJohn Cai1-3/+13
2024-01-18reftable/stack: fix race in up-to-date checkPatrick Steinhardt1-7/+92
2024-01-18reftable/stack: unconditionally reload stack after commitPatrick Steinhardt1-1/+1
2024-01-11reftable/stack: use stat info to avoid re-reading stack listPatrick Steinhardt1-1/+11
2024-01-11reftable/stack: refactor reloading to use file descriptorPatrick Steinhardt1-3/+18
2024-01-11reftable/stack: refactor stack reloading to have common exit pathPatrick Steinhardt1-44/+42
2024-01-03reftable/stack: do not auto-compact twice in `reftable_stack_add()`Patrick Steinhardt1-3/+0
2024-01-03reftable/stack: do not overwrite errors when compactingPatrick Steinhardt1-12/+8
2023-12-11reftable/stack: fix use of unseeded randomnessPatrick Steinhardt1-1/+1
2023-12-11reftable/stack: fix stale lock when dyingPatrick Steinhardt1-32/+15
2023-12-11reftable/stack: reuse buffers when reloading stackPatrick Steinhardt1-8/+4
2023-12-11reftable/stack: perform auto-compaction with transactional interfacePatrick Steinhardt1-0/+6
2023-12-11reftable: handle interrupted writesPatrick Steinhardt1-3/+3
2023-12-11reftable: handle interrupted readsPatrick Steinhardt1-1/+1
2022-02-16Merge branch 'hn/reftable-coverity-fixes'Junio C Hamano1-5/+5
2022-01-20reftable: fix resource warningHan-Wen Nienhuys1-5/+5
2021-12-23reftable: support preset file mode for writingHan-Wen Nienhuys1-6/+24
2021-10-08reftable: implement stack, a mutable database of reftable files.Han-Wen Nienhuys1-0/+1396