xfs: on failed mount, force-reclaim inodes after unmounting quota controls
authorDarrick J. Wong <darrick.wong@oracle.com>
Thu, 9 Nov 2017 00:26:49 +0000 (16:26 -0800)
committerDarrick J. Wong <darrick.wong@oracle.com>
Fri, 10 Nov 2017 03:27:33 +0000 (19:27 -0800)
commit2d1d1da3d9cc387262193e83f0a96d753b040720
tree8785b8ee6c00208161976b2625dc7d9ab367d330
parentd44b47fdd1c13f79a9b50a07576929f1c6c33c7f
xfs: on failed mount, force-reclaim inodes after unmounting quota controls

When mounting fails, we must force-reclaim inodes (and disable delayed
reclaim) /after/ the realtime and quota control have let go of the
realtime and quota inodes.  Without this, we corrupt the timer list and
cause other weird problems.

Found by xfs/376 fuzzing u3.bmbt[0].lastoff on an rmap filesystem to
force a bogus post-eof extent reclaim that causes the fs to go down.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
fs/xfs/xfs_mount.c