On Wed, Mar 24, 2021 at 06:59:37PM +0100, Christoph Hellwig wrote: > On Wed, Mar 24, 2021 at 10:57:35AM -0700, Darrick J. Wong wrote: > > On Wed, Mar 24, 2021 at 08:03:06AM +0100, Christoph Hellwig wrote: > > > Remove the generic xfs_inode_walk and just open code the only caller. > > > > This is going in the wrong direction for me. Maybe. > > > > I was planning to combine the reclaim inode walk into this function, and > > later on share it with inactivation. This made for one switch-happy > > iteration function, but it meant there was only one loop. > > Ok, we can skip this for now if this gets in your way. Or I can resend > a different patch 2 that just removes the no tag case for now. > > > OFC maybe the point that you and/or Dave were trying to make is that I > > should be doing the opposite, and combining the inactivation loop into > > what is now the (badly misnamed) xfs_reclaim_inodes_ag? And leave this > > blockgc loop alone? > > That is my gut feeling. No guarantee it actually works out, and given > that I've lead you down the wrong road a few times I already feel guily > ahead of time.. Actually, collapsing all of the tag walkers into xfs_inode_walk was pretty straightforward, and in the end I just borrowed bits and pieces from patches 2 and 3 to make it happen and clean up the arguments. The net change is 55 lines deleted and ~1k less code (granted with all the debugging and ubsan crud turned on). --D