On Mon, Jun 26, 2023 at 09:31:56PM -0700, Christoph Hellwig wrote: > On Mon, Jun 26, 2023 at 09:30:07PM -0700, Christoph Hellwig wrote: > > On Mon, Jun 26, 2023 at 06:35:16PM +0100, Matthew Wilcox (Oracle) wrote: > > > + for (folio = writeback_iter_init(mapping, wbc); > > > + folio; > > > + folio = writeback_get_next(mapping, wbc)) { > > > > Ok that's another way to structure it. Guess I should look over the > > whole series first.. Perhaps ... it's a little hard to decide which of your comments are worth replying to, and which are obviated by later realisations. > That beeing said. Given that writeback_iter_init calls > writeback_get_next anyway, > > writeback_iter_init(mapping, wbc); > while ((folio = writeback_get_next(mapping, wbc))) > > still feels a little easier to follow to be. No hard feelings either > way, just an observation. I had it structured that way originally, but we need to pass in 'error' to the get_next, and it's better if we also pass in 'folio', which means that the user then needs to initialise error to 0 and folio to NULL before using the macro, and that all felt a bit "You're holding it wrong".