These two patches seem to fix the inode reclaim issues I've been
able to reproduce lately. The changes are still running xfsqa in a
loop to confirm this, but the directory/small file stress test I've
been running to trigger the problem has run for 10 hours with these
fixes instead of dying after 20-30 minutes.
The first patch is a rewrite of Christoph's reclaim under write lock
fixes without all the code duplication, and the second avoids direct
reclaim altogether because xfs_inode_clean() needs to be run when the
flush lock is held to ensure the inode not under IO and really is
reclaimable.
|