On Tue, Feb 14, 2017 at 11:35:11AM -0800, Liu Bo wrote:
> On Mon, Feb 13, 2017 at 10:34:13AM +0100, David Sterba wrote:
> > The 'tree' was used to call locking hook that does not exist anymore.
> > 
> > Signed-off-by: David Sterba <dste...@suse.com>
> > ---
> >  fs/btrfs/extent_io.c | 6 ++----
> >  1 file changed, 2 insertions(+), 4 deletions(-)
> > 
> > diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
> > index f683fa5a4b91..22a2f2fa62c7 100644
> > --- a/fs/btrfs/extent_io.c
> > +++ b/fs/btrfs/extent_io.c
> > @@ -3916,8 +3916,7 @@ int btree_write_cache_pages(struct address_space 
> > *mapping,
> >   * WB_SYNC_ALL then we were called for data integrity and we must wait for
> >   * existing IO to complete.
> >   */
> > -static int extent_write_cache_pages(struct extent_io_tree *tree,
> > -                        struct address_space *mapping,
> > +static int extent_write_cache_pages(struct address_space *mapping,
> >                          struct writeback_control *wbc,
> >                          writepage_t writepage, void *data,
> >                          void (*flush_fn)(void *))
> > @@ -4158,8 +4157,7 @@ int extent_writepages(struct extent_io_tree *tree,
> >             .bio_flags = 0,
> >     };
> >  
> > -   ret = extent_write_cache_pages(tree, mapping, wbc,
> > -                                  __extent_writepage, &epd,
> > +   ret = extent_write_cache_pages(mapping, wbc, __extent_writepage, &epd,
> >                                    flush_write_bio);
> 
> Are we going to leave {btrfs,extent}_{read,write}pages untouched?

Yes, because extent_writepages uses 'tree', it's stored in the
extent_page_data, and some if not all callbacks do utilize it.

4140 int extent_writepages(struct extent_io_tree *tree,
4141                       struct address_space *mapping,
4142                       get_extent_t *get_extent,
4143                       struct writeback_control *wbc)
4144 {
4145         int ret = 0;
4146         struct extent_page_data epd = {
4147                 .bio = NULL,
4148                 .tree = tree,
^^^^
4149                 .get_extent = get_extent,
4150                 .extent_locked = 0,
4151                 .sync_io = wbc->sync_mode == WB_SYNC_ALL,
4152                 .bio_flags = 0,
4153         };

btrfs_readpages
  extent_readpages
    __extent_readpages
      __do_contiguous_readpages
        lock_extent

and btrfs_writepages calls extent_writepages.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to