• Darrick J. Wong's avatar
    xfs: don't iunlock the quota ip when quota block · 8241f7f9
    Darrick J. Wong authored
    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: default avatarDarrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
    8241f7f9
xfs_dquot.c 28.3 KB