• Darrick J. Wong's avatar
    xfs: fix off-by-one error when the last rt extent is in use · 9ab72f22
    Darrick J. Wong authored
    The fsmap implementation for realtime devices uses the gap between
    info->next_daddr and a free rtextent reported by xfs_rtalloc_query_range
    to feed userspace fsmap records with an "unknown" owner.  We use this
    trick to report to userspace when the last rtextent in the filesystem is
    in use by synthesizing a null rmap record starting at the next block
    after the query range.
    
    Unfortunately, there's a minor accounting bug in the way that we
    construct the null rmap record.  Originally, ahigh.ar_startext contains
    the last rtextent for which the user wants records.  It's entirely
    possible that number is beyond the end of the rt volume, so the location
    synthesized rmap record /must/ be constrained to the minimum of the high
    key and the number of extents in the rt volume.
    Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
    Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    Reviewed-by: default avatarChandan Babu R <chandanrlinux@gmail.com>
    9ab72f22
xfs_fsmap.c 26 KB