On Wed, Mar 03, 2021 at 07:48:12AM +0100, Christoph Hellwig wrote: > On Tue, Mar 02, 2021 at 02:28:34PM -0800, Darrick J. Wong wrote: > > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > > > If we allocate quota inodes in the process of mounting a filesystem but > > then decide to abort the mount, it's possible that the quota inodes are > > sitting around pinned by the log. Now that inode reclaim relies on the > > AIL to flush inodes, we have to force the log and push the AIL in > > between releasing the quota inodes and kicking off reclaim to tear down > > all the incore inodes. > > > > This was originally found during a fuzz test of metadata directories > > (xfs/1546), but the actual symptom was that reclaim hung up on the quota > > inodes. > > This looks ok, but I'm a little worried about sprinkling these log > forces and AIL pushes around. We have a similar one but split int > the regular unmount path, and I wonder if we just need to regularize > that. Hmm, the unmount path splits the log force and the ail split while we wait for free extents to get discarded. Log replay can free extents, so at the very least I think we need to do that here too. --D