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