Subject: Re: [PATCH 08/17] odb/source: make `close()` function pluggable

From: Patrick Steinhardt <[email-masked]>
Date: Thu, 5 Mar 2026 14:23:41 +0100

On Wed, Mar 04, 2026 at 03:03:26PM -0600, Justin Tobler wrote:
> On 26/02/23 05:17PM, Patrick Steinhardt wrote:
> > Introduce a new callback function in `struct odb_source` to make the
> > function pluggable.
> > 
> > Signed-off-by: Patrick Steinhardt <[email-masked]>
> > ---
> [snip]
> > +/*
> > + * Close the object database source without releasing he underlying data. The
> > + * source can still be used going forward, but it first needs to be reopened.
> > + * This can be useful to reduce resource usage.
> > + */
> > +static inline void odb_source_close(struct odb_source *source)
> > +{
> > +	source->close(source);
> > +}
> 
> Just to be safe, should we BUG()/ASSERT() in case the provide source is
> NULL? Or do we expect the calling pattern to always provide an actual
> source?

We don't do that for any of the other wrappers either, so I'm not quite
sure why closing would be special. If this was the free function I might
agree, but otherwise I don't quite see the value.

Patrick