Re: [RFC PATCH 1/3] xarray: Introduce devm_xa_init()

From: Ira Weiny
Date: Thu Jul 14 2022 - 12:02:59 EST


On Thu, Jul 14, 2022 at 08:44:00AM -0700, Dan Williams wrote:
> Ira Weiny wrote:
> > On Fri, Jul 08, 2022 at 03:53:50PM +0100, Matthew Wilcox wrote:
> > > On Tue, Jul 05, 2022 at 04:21:57PM -0700, ira.weiny@xxxxxxxxx wrote:
> > > > The main issue I see with this is defining devm_xa_init() in device.h.
> > > > This makes sense because a device is required to use the call. However,
> > > > I'm worried about if users will find the call there vs including it in
> > > > xarray.h?
> > >
> > > Honestly, I don't want users to find it. This only makes sense if you're
> > > already bought in to the devm cult. I worry people will think that
> > > they don't need to do anything else; that everything will be magically
> > > freed for them, and we'll leak the objects pointed to from the xarray.
> > > I don't even like having xa_destroy() in the API, because of exactly this.
> > >
> >
> > Fair enough. Are you ok with the concept though?
>
> I came here to same the same thing as Matthew. devm_xa_init() does not
> lessen review burden like other devm helpers. A reviewer still needs to
> go verfy that the patch that uses this makes sure to free all objects in
> the xarray before it gets destroyed.
>
> If there still needs to be an open-coded "empty the xarray" step, then
> that can just do the xa_destroy() there. So for me, no, the concept of
> this just not quite jive.

Ok I'll drop it.
Ira