• Darrick J. Wong's avatar
    xfs: don't reserve per-AG space for an internal log · 5cd213b0
    Darrick J. Wong authored
    It turns out that the log can consume nearly all the space in an AG, and
    when this happens this it's possible that there will be less free space
    in the AG than the reservation would try to hide.  On a debug kernel
    this can trigger an ASSERT in xfs/250:
    
    XFS: Assertion failed: xfs_perag_resv(pag, XFS_AG_RESV_METADATA)->ar_reserved + xfs_perag_resv(pag, XFS_AG_RESV_RMAPBT)->ar_reserved <= pag->pagf_freeblks + pag->pagf_flcount, file: fs/xfs/libxfs/xfs_ag_resv.c, line: 319
    
    The log is permanently allocated, so we know we're never going to have
    to expand the btrees to hold any records associated with the log space.
    We therefore can treat the space as if it doesn't exist.
    Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: default avatarEric Sandeen <sandeen@redhat.com>
    5cd213b0
xfs_refcount_btree.c 10.5 KB