On Mon, Oct 17, 2016 at 06:10:51PM -0700, Darrick J. Wong wrote: > As part of the inode block map intent log item recovery process, we had > to set the IRECOVERY flag to prevent an unlinked inode from being > truncated during the first iput call. This required us to set MS_ACTIVE > so that iput puts the inode on the lru instead of immediately evicting > the inode. > > Unfortunately, if the mount fails later on, the inodes that have been > loaded (root dir and realtime) actually need to be evicted since we're > aborting the mount. If we don't clear MS_ACTIVE in the failure step, > those inodes are not evicted and therefore leak. The leak was found > by running xfs/130 and rmmoding xfs immediately after the test. Actually that was an item I wanted to sort out about reflink before we got it merged.. Can you explain why we even added the MS_ACTIVE flag? Is it to fool iput_final into keeping the inode on the lru? I'd really prefer if we could just do it in our own ->drop_inode call then instead of messing with MS_ACTIVE. -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html