• Darrick J. Wong's avatar
    xfs: implement masked btree key comparisons for _has_records scans · 4a200a09
    Darrick J. Wong authored
    For keyspace fullness scans, we want to be able to mask off the parts of
    the key that we don't care about.  For most btree types we /do/ want the
    full keyspace, but for checking that a given space usage also has a full
    complement of rmapbt records (even if different/multiple owners) we need
    this masking so that we only track sparseness of rm_startblock, not the
    whole keyspace (which is extremely sparse).
    
    Augment the ->diff_two_keys and ->keys_contiguous helpers to take a
    third union xfs_btree_key argument, and wire up xfs_rmap_has_records to
    pass this through.  This third "mask" argument should contain a nonzero
    value in each structure field that should be used in the key comparisons
    done during the scan.
    Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
    Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
    4a200a09
xfs_rmap_btree.c 19.3 KB