Re: [PATCH 08/17] odb/source: make `close()` function pluggable
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Mar 5, 2026, 13:23 UTC
- Message-ID
- <aamD3Xm1_E5zMdj1@pks.im>
- In-Reply-To
- <aaidbdpkpH7tfn9x@denethor>
On Wed, Mar 04, 2026 at 03:03:26PM -0600, Justin Tobler wrote:
Show 20 quoted lines
> 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 <ps@pks.im>
> > ---
> [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