On Wed, Aug 09, 2017 at 10:23:58PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > If we fail a mount on account of cow recovery errors, it's possible that > a previous quotacheck left some dquots in memory. The bailout clause of > xfs_mountfs forgets to purge these, and so we leak them. Fix that. > > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > --- > v2: unmount quotas, then free all the quota information > --- > fs/xfs/xfs_mount.c | 2 ++ > 1 file changed, 2 insertions(+) > > > diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c > index 8da5155..d50f4a7 100644 > --- a/fs/xfs/xfs_mount.c > +++ b/fs/xfs/xfs_mount.c > @@ -1057,6 +1057,8 @@ xfs_mountfs( > xfs_fs_unreserve_ag_blocks(mp); > out_quota: > xfs_qm_unmount_quotas(mp); > + /* Clean out dquots that might be in memory after quotacheck. */ > + xfs_qm_unmount(mp); > out_rtunmount: > xfs_rtunmount_inodes(mp); > out_rele_rip: The unmount path calls this much later, e.g. the xfs_rtunmount_inodes call follows ifirst, then we release the root inode, etc. I'd suggest we try to follow that order as much as possible. -- 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