On Wed, Feb 15, 2017 at 04:30:46PM +0100, David Sterba wrote:
> 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 <dsterba@xxxxxxxx>
> > > ---
> > > 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.
OK, I see.
Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx>
Thanks,
-liubo
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html