diff options
author | Dave Chinner <dchinner@redhat.com> | 2020-06-29 14:49:18 -0700 |
---|---|---|
committer | Darrick J. Wong <darrick.wong@oracle.com> | 2020-07-07 07:15:08 -0700 |
commit | 48d55e2ae3ce837598c073995bbbac5d24a35fe1 (patch) | |
tree | b5d1923900858dd3e77b725bae8d4a0f666fcc5f /fs/xfs/xfs_buf_item.c | |
parent | 71e3e35646861f2f9b8d36e00720904ed3ca31cb (diff) | |
download | linux-48d55e2ae3ce837598c073995bbbac5d24a35fe1.tar.gz linux-48d55e2ae3ce837598c073995bbbac5d24a35fe1.tar.bz2 linux-48d55e2ae3ce837598c073995bbbac5d24a35fe1.zip |
xfs: attach inodes to the cluster buffer when dirtied
Rather than attach inodes to the cluster buffer just when we are
doing IO, attach the inodes to the cluster buffer when they are
dirtied. The means the buffer always carries a list of dirty inodes
that reference it, and we can use that list to make more fundamental
changes to inode writeback that aren't otherwise possible.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Diffstat (limited to 'fs/xfs/xfs_buf_item.c')
-rw-r--r-- | fs/xfs/xfs_buf_item.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c index ecb3362395af..e9428c30862a 100644 --- a/fs/xfs/xfs_buf_item.c +++ b/fs/xfs/xfs_buf_item.c @@ -465,6 +465,7 @@ xfs_buf_item_unpin( if (bip->bli_flags & XFS_BLI_STALE_INODE) { xfs_buf_item_done(bp); xfs_iflush_done(bp); + ASSERT(list_empty(&bp->b_li_list)); } else { xfs_trans_ail_delete(lip, SHUTDOWN_LOG_IO_ERROR); xfs_buf_item_relse(bp); |