On Thu, Feb 13, 2025 at 06:14:48AM +0100, Christoph Hellwig wrote: > > > + if (!*oz && ioend->io_offset) > > > + *oz = xfs_last_used_zone(ioend); > > > > Also, why not return oz instead of passing it out via double pointer? > > I remember going back and forth a few times. Let me give it a try to > see how it works out this time. Looking into this, the callers treat the open_zone structure as a context, an passing in the address makes this much nicer. If you don't like all the double pointer dereference operators we could add a new context structure that just has a pointer to the open zone as syntactic sugar. And writing this down I think I like the idea, that makes it much more clear what is done here, even if it generates the same code.