From: Nikolay Borisov Date: Mon, 31 Aug 2020 11:42:44 +0000 (+0300) Subject: btrfs: make btrfs_writepage_endio_finish_ordered btrfs_inode-centric X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=3347c48f276754eaf8f41a6e0368ed558a9453be;p=linux.git btrfs: make btrfs_writepage_endio_finish_ordered btrfs_inode-centric Reviewed-by: Johannes Thumshirn Reviewed-by: Josef Bacik Signed-off-by: Nikolay Borisov Reviewed-by: David Sterba Signed-off-by: David Sterba --- diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 301bbc41e9630..6201bbb4ca90b 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -2773,19 +2773,19 @@ static void finish_ordered_fn(struct btrfs_work *work) void btrfs_writepage_endio_finish_ordered(struct page *page, u64 start, u64 end, int uptodate) { - struct inode *inode = page->mapping->host; - struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); + struct btrfs_inode *inode = BTRFS_I(page->mapping->host); + struct btrfs_fs_info *fs_info = inode->root->fs_info; struct btrfs_ordered_extent *ordered_extent = NULL; struct btrfs_workqueue *wq; trace_btrfs_writepage_end_io_hook(page, start, end, uptodate); ClearPagePrivate2(page); - if (!btrfs_dec_test_ordered_pending(BTRFS_I(inode), &ordered_extent, - start, end - start + 1, uptodate)) + if (!btrfs_dec_test_ordered_pending(inode, &ordered_extent, start, + end - start + 1, uptodate)) return; - if (btrfs_is_free_space_inode(BTRFS_I(inode))) + if (btrfs_is_free_space_inode(inode)) wq = fs_info->endio_freespace_worker; else wq = fs_info->endio_write_workers;