[PATCH 00/11 v3] xfs: inode reclaim vs the world
Dave Chinner
david at fromorbit.com
Wed Apr 13 00:31:21 CDT 2016
Hi folks,
The inode reclaim patchset has grown somewhat larger with all the
fixes I've accrued over the past couple of days for issues that have
been reported. I've just re-ordered the patchset to have all the bug
fixes that need to go into 4.6-rc up front, followed by other bug
fixes, followed by all the cleanups I wrote as I went along fixing
things. I want to get this out before LSFMM, so I'm posting this
before I've done a full verification that I've got the patches
correct, and they are still running through xfstests right now.
Patch 1 is new - it fixes a regression introduced in 4.6-rc1 and is
caused by clearing the vfs inode i_mode in ->evict_inode, when there
is code in evict() that requires the mode to be intact until
->destroy_inode.
Patch 2 is new - if fixes the inode log item leak that left a dirty
log item on the AIL after the inode had been reclaimed, resulting in
unmountable filesystems and a couple of use-after-free vectors.
Patch 3 is the original fix for the xfs_iflush_cluster lookup
validity checks that were incorect
Patch 4 is the original fix for avoiding flushing stale inodes.
Patch 5 is new, and comes from Alex @ Zadara to avoid having to
reallocate memory when tearing down the inode extent lists. This is
a necessary pre-requisite for patch 6.
Patch 6 is the original patch that pushed all the inode memory
freeing into the RCU callback, so that xfs_iflush_cluster didn't
reference freed memory when racing with reclaim.
Patch 7 is the original patch that made reclaim races eaasier to
detect.
Patch 8 is the original patch that drops out of xfs-iflush_cluster
on the first inode beyond the end of the current cluster.
Patch 9 is the original patch that renames the variables in
xfs_iflush_cluster().
Patch 10 and 11 are new patches that simplify the inode reclaim
tagging interfaces to remove dependencies on the struct xfs_inode
and the inode number where they are not actually required.
-Dave.
More information about the xfs
mailing list