The list of all inodes on a mount is superfluous. We can traverse
all inodes now by walking the per-AG inode radix trees without
needing a separate list. This enables us to remove a bunch of
complex list traversal code and remove another two pointers from
the xfs_inode.
Also, by replacing the sync traversal with an ascending inode
number traversal, we will issue better inode I/O patterns for
writeback triggered by xfssyncd or unmount.
Diffstat for the change:
xfs/quota/xfs_qm_syscalls.c | 120 ++++++--------
xfs/xfs_iget.c | 42 -----
xfs/xfs_inode.c | 39 ----
xfs/xfs_inode.h | 11 -
xfs/xfs_mount.c | 7
xfs/xfs_mount.h | 1
xfs/xfs_vfsops.c | 366 ++++++++++++--------------------------------
xfs/xfs_vnodeops.c | 42 ++---
8 files changed, 176 insertions(+), 452 deletions(-)
|