[PATCH 0/7] odb: unify read and write streams
Patrick Steinhardt <[email protected]> Tue, 04 Aug 2026 09:25:28 +0200
| Newsgroups | org.kernel.vger.git |
|---|---|
| Message-ID | <[email protected]> |
Hi,
we have two different kind of object database streams in our code base:
`odb_write_stream` and `odb_read_stream`. While those are used for
different use cases, the provided functionality is ultimately the exact
same.
This patch series thus refactors these streams so that we have a single
`odb_stream`, only. This allows us to reuse the streams for different
kinds of purposes and makes them more generally useful overall. For
example, it's trivially possible now to create an object stream for any
given object and then write that stream into a different source.
The series is built on top of 5b2471720c (The 10th batch, 2026-08-03).
Thanks!
Patrick
---
Patrick Steinhardt (7):
odb/streaming: track write stream size in the structure
odb/streaming: drop `is_finished` field
odb/streaming: support streaming arbitrary object types
odb/streaming: rename `struct odb_read_stream`
odb/streaming: consolidate read and write streams
odb/streaming: rename `struct read_object_fd_data`
odb/streaming: unify function names to create new streams
archive-tar.c | 8 ++--
archive-zip.c | 12 ++---
builtin/index-pack.c | 8 ++--
builtin/pack-objects.c | 18 ++++----
builtin/unpack-objects.c | 42 +++++++++--------
object-file.c | 76 +++++++++++++++---------------
object-file.h | 2 +-
object.c | 6 +--
odb.c | 4 +-
odb.h | 4 +-
odb/source-files.c | 7 ++-
odb/source-inmemory.c | 32 +++++++------
odb/source-loose.c | 33 ++++++++------
odb/source-packed.c | 5 +-
odb/source.h | 13 +++---
odb/streaming.c | 104 ++++++++++++++++++++----------------------
odb/streaming.h | 69 ++++++++++------------------
odb/transaction.c | 6 +--
odb/transaction.h | 6 +--
pack-check.c | 4 +-
packfile.c | 8 ++--
packfile.h | 4 +-
t/unit-tests/u-odb-inmemory.c | 37 ++++++++-------
23 files changed, 247 insertions(+), 261 deletions(-)
---
base-commit: 5b2471720c93ee30e5764a19f3d3b3ae9ec9712a
change-id: 20260724-pks-odb-stream-unification-334dc2a75888