On Wed, Aug 11, 2021 at 07:38:56AM +0200, Christoph Hellwig wrote: > On Tue, Aug 10, 2021 at 05:31:18PM -0700, Darrick J. Wong wrote: > > > +static inline void iomap_iter_done(struct iomap_iter *iter) > > > > I wonder why this is a separate function, since it only has debugging > > warnings and tracepoints? > > The reason for these two sub-helpers was to force me to structure the > code so that Matthews original idea of replacing ->iomap_begin and > ->iomap_end with a single next callback so that iomap_iter could > be inlined into callers and the indirect calls could be elided is > still possible. This would only be useful for a few specific > methods (probably dax and direct I/O) where we care so much, but it > seemed like a nice idea conceptually so I would not want to break it. > > OTOH we could just remove this function for now and do that once needed. <shrug> > > Modulo the question about iomap_iter_done, I guess this looks all right > > to me. As far as apply.c vs. core.c, I'm not wildly passionate about > > either naming choice (I would have called it iter.c) but ... fmeh. > > iter.c is also my preference, but in the end I don't care too much. Ok. My plan for this is to change this patch to add the new iter code to apply.c, and change patch 24 to remove iomap_apply. I'll add a patch on the end to rename apply.c to iter.c, which will avoid breaking the history. I'll send the updated patches as replies to this series to avoid spamming the list, since I also have a patchset of bugfixes to send out and don't want to overwhelm everyone. --D