diff options
author | Darrick J. Wong <darrick.wong@oracle.com> | 2019-02-01 18:08:53 +0100 |
---|---|---|
committer | Darrick J. Wong <darrick.wong@oracle.com> | 2019-02-12 01:06:40 +0100 |
commit | 87c9607df2ff73290dcfe08d22f34687ce0142ce (patch) | |
tree | 2d89e2a3abee69e7b7a45e3cf22d05e2a4b0ef60 /fs/xfs/scrub | |
parent | xfs: scrub should flag dir/attr offsets that aren't mappable with xfs_dablk_t (diff) | |
download | linux-87c9607df2ff73290dcfe08d22f34687ce0142ce.tar.xz linux-87c9607df2ff73290dcfe08d22f34687ce0142ce.zip |
xfs: fix off-by-one error in rtbitmap cross-reference
Fix an off-by-one error in the realtime bitmap "is used" cross-reference
helper function if the realtime extent size is a single block.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Diffstat (limited to 'fs/xfs/scrub')
-rw-r--r-- | fs/xfs/scrub/rtbitmap.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/xfs/scrub/rtbitmap.c b/fs/xfs/scrub/rtbitmap.c index 665d4bbb17cc..dbe115b075f7 100644 --- a/fs/xfs/scrub/rtbitmap.c +++ b/fs/xfs/scrub/rtbitmap.c @@ -141,9 +141,8 @@ xchk_xref_is_used_rt_space( startext = fsbno; endext = fsbno + len - 1; do_div(startext, sc->mp->m_sb.sb_rextsize); - if (do_div(endext, sc->mp->m_sb.sb_rextsize)) - endext++; - extcount = endext - startext; + do_div(endext, sc->mp->m_sb.sb_rextsize); + extcount = endext - startext + 1; xfs_ilock(sc->mp->m_rbmip, XFS_ILOCK_SHARED | XFS_ILOCK_RTBITMAP); error = xfs_rtalloc_extent_is_free(sc->mp, sc->tp, startext, extcount, &is_free); |