diff options
author | Dave Chinner <[email protected]> | 2020-06-29 14:49:19 -0700 |
---|---|---|
committer | Darrick J. Wong <[email protected]> | 2020-07-07 07:15:08 -0700 |
commit | 90c60e16401248a4900f3f9387f563d0178dcf34 (patch) | |
tree | e484cbca0c44271d747da85314b17a872713f297 /lib/test_overflow.c | |
parent | 48d55e2ae3ce837598c073995bbbac5d24a35fe1 (diff) |
xfs: xfs_iflush() is no longer necessary
Now we have a cached buffer on inode log items, we don't need
to do buffer lookups when flushing inodes anymore - all we need
to do is lock the buffer and we are ready to go.
This largely gets rid of the need for xfs_iflush(), which is
essentially just a mechanism to look up the buffer and flush the
inode to it. Instead, we can just call xfs_iflush_cluster() with a
few modifications to ensure it also flushes the inode we already
hold locked.
This allows the AIL inode item pushing to be almost entirely
non-blocking in XFS - we won't block unless memory allocation
for the cluster inode lookup blocks or the block device queues are
full.
Writeback during inode reclaim becomes a little more complex because
we now have to lock the buffer ourselves, but otherwise this change
is largely a functional no-op that removes a whole lot of code.
Signed-off-by: Dave Chinner <[email protected]>
Reviewed-by: Darrick J. Wong <[email protected]>
Reviewed-by: Brian Foster <[email protected]>
Signed-off-by: Darrick J. Wong <[email protected]>
Diffstat (limited to 'lib/test_overflow.c')
0 files changed, 0 insertions, 0 deletions