On Mon, Aug 18, 2025 at 07:17:15AM -0400, Kent Overstreet wrote:
> On Mon, Aug 18, 2025 at 08:10:09AM +0200, Christoph Hellwig wrote:
> > Stop using the obsolete write_cache_pages and use writeback_iter
> > directly.  This basically just open codes write_cache_pages
> > without the indirect call, but there's probably ways to structure
> > the code even nicer as a follow on.
> 
> Wouldn't inlining write_cache_pages() achieve the same thing?

It might eliminate the indirect calls with the right compiler or
options, but not archieve any of the other goals, and leave us
with a helper implementing a pointless callback pattern for 1 user.

> > +
> > +   while ((folio = writeback_iter(mapping, wbc, folio, &error)))
> > +           error = __bch2_writepage(folio, wbc, data);
> > +   return error;
> > +}
> > +
> >  int bch2_writepages(struct address_space *mapping, struct 
> > writeback_control *wbc)
> >  {
> >     struct bch_fs *c = mapping->host->i_sb->s_fs_info;
> > @@ -663,7 +674,7 @@ int bch2_writepages(struct address_space *mapping, 
> > struct writeback_control *wbc
> >     bch2_inode_opts_get(&w->opts, c, &to_bch_ei(mapping->host)->ei_inode);
> >  
> >     blk_start_plug(&w->plug);
> > -   int ret = write_cache_pages(mapping, wbc, __bch2_writepage, w);
> > +   int ret = bch2_write_cache_pages(mapping, wbc, w);
> >     if (w->io)
> >             bch2_writepage_do_io(w);
> >     blk_finish_plug(&w->plug);
> > -- 
> > 2.47.2
> > 
---end quoted text---

Reply via email to