On Thu, Feb 22, 2018 at 03:04:35PM -0800, Darrick J. Wong wrote: > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > In xfs_qm_dqalloc, we join the locked quota inode to the transaction we > use to allocate blocks. If the allocation or mapping fails, we're not > allowed to unlock the inode because the transaction code is in charge of > unlocking it for us. Therefore, remove the iunlock call to avoid > blowing asserts about unbalanced locking + mount hang. > > Found by corrupting the AGF and allocating space in the filesystem > (quotacheck) immediately after mount. The upcoming agfl wrapping fixup > test will trigger this scenario. > > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Realized I had a whole pile of other fixes to send out, so ignore this for now. --D > --- > fs/xfs/xfs_dquot.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/fs/xfs/xfs_dquot.c b/fs/xfs/xfs_dquot.c > index 43572f8..2410acc 100644 > --- a/fs/xfs/xfs_dquot.c > +++ b/fs/xfs/xfs_dquot.c > @@ -394,8 +394,6 @@ xfs_qm_dqalloc( > error1: > xfs_defer_cancel(&dfops); > error0: > - xfs_iunlock(quotip, XFS_ILOCK_EXCL); > - > return error; > } > > -- > 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 -- 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