From: Justin Tobler Date: Thu, 05 Mar 2026 17:11:39 GMT Subject: Re: [PATCH 08/17] odb/source: make `close()` function pluggable Message-ID: In-Reply-To: On 26/03/05 02:23PM, Patrick Steinhardt wrote: > 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 > > > --- > > [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. Fair, I noticed that we did it in the free function, so I was wondering if we wanted to apply it to the other functions as well. But thinking about it some more, there is proabably no/little value. -Justin