• D
    xfs: don't reserve per-AG space for an internal log · 5cd213b0
    Darrick J. Wong 提交于
    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: NDarrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: NEric Sandeen <sandeen@redhat.com>
    5cd213b0
xfs_rmap_btree.c 15.1 KB