From: Darrick J. Wong <djwong@xxxxxxxxxx> Source kernel commit: 345bfca998c4ac57daabb7618769a3f0a75331d1 We've been (ab)using XFS_REFC_COW_START as both an integer quantity and a bit flag, even though it's *only* a bit flag. Rename the variable to reflect its nature and update the cast target since we're not supposed to be comparing it to xfs_agblock_t now. Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> --- db/check.c | 4 ++-- libxfs/xfs_format.h | 2 +- libxfs/xfs_refcount.c | 6 +++--- libxfs/xfs_refcount.h | 4 ++-- repair/scan.c | 6 +++--- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/db/check.c b/db/check.c index c9149daadf..680edf1f9e 100644 --- a/db/check.c +++ b/db/check.c @@ -4848,8 +4848,8 @@ scanfunc_refcnt( char *msg; agbno = be32_to_cpu(rp[i].rc_startblock); - if (agbno >= XFS_REFC_COW_START) { - agbno -= XFS_REFC_COW_START; + if (agbno >= XFS_REFC_COWFLAG) { + agbno -= XFS_REFC_COWFLAG; msg = _( "leftover CoW extent (%u/%u) len %u\n"); } else { diff --git a/libxfs/xfs_format.h b/libxfs/xfs_format.h index 005dd65b71..371dc07233 100644 --- a/libxfs/xfs_format.h +++ b/libxfs/xfs_format.h @@ -1612,7 +1612,7 @@ unsigned int xfs_refc_block(struct xfs_mount *mp); * on the startblock. This speeds up mount time deletion of stale * staging extents because they're all at the right side of the tree. */ -#define XFS_REFC_COW_START ((xfs_agblock_t)(1U << 31)) +#define XFS_REFC_COWFLAG (1U << 31) #define REFCNTBT_COWFLAG_BITLEN 1 #define REFCNTBT_AGBLOCK_BITLEN 31 diff --git a/libxfs/xfs_refcount.c b/libxfs/xfs_refcount.c index 0a934aecc6..64e66861b8 100644 --- a/libxfs/xfs_refcount.c +++ b/libxfs/xfs_refcount.c @@ -107,8 +107,8 @@ xfs_refcount_btrec_to_irec( uint32_t start; start = be32_to_cpu(rec->refc.rc_startblock); - if (start & XFS_REFC_COW_START) { - start &= ~XFS_REFC_COW_START; + if (start & XFS_REFC_COWFLAG) { + start &= ~XFS_REFC_COWFLAG; irec->rc_domain = XFS_REFC_DOMAIN_COW; } else { irec->rc_domain = XFS_REFC_DOMAIN_SHARED; @@ -1798,7 +1798,7 @@ xfs_refcount_recover_cow_leftovers( int error; /* reflink filesystems mustn't have AGs larger than 2^31-1 blocks */ - BUILD_BUG_ON(XFS_MAX_CRC_AG_BLOCKS >= XFS_REFC_COW_START); + BUILD_BUG_ON(XFS_MAX_CRC_AG_BLOCKS >= XFS_REFC_COWFLAG); if (mp->m_sb.sb_agblocks > XFS_MAX_CRC_AG_BLOCKS) return -EOPNOTSUPP; diff --git a/libxfs/xfs_refcount.h b/libxfs/xfs_refcount.h index ee32e8eb5a..452f30556f 100644 --- a/libxfs/xfs_refcount.h +++ b/libxfs/xfs_refcount.h @@ -34,9 +34,9 @@ xfs_refcount_encode_startblock( * query functions (which set rc_domain == -1U), so we check that the * domain is /not/ shared. */ - start = startblock & ~XFS_REFC_COW_START; + start = startblock & ~XFS_REFC_COWFLAG; if (domain != XFS_REFC_DOMAIN_SHARED) - start |= XFS_REFC_COW_START; + start |= XFS_REFC_COWFLAG; return start; } diff --git a/repair/scan.c b/repair/scan.c index 7e4d4d8b8e..859a6e6937 100644 --- a/repair/scan.c +++ b/repair/scan.c @@ -1374,16 +1374,16 @@ _("%s btree block claimed (state %d), agno %d, bno %d, suspect %d\n"), b = agb = be32_to_cpu(rp[i].rc_startblock); len = be32_to_cpu(rp[i].rc_blockcount); nr = be32_to_cpu(rp[i].rc_refcount); - if (b >= XFS_REFC_COW_START && nr != 1) + if (b >= XFS_REFC_COWFLAG && nr != 1) do_warn( _("leftover CoW extent has incorrect refcount in record %u of %s btree block %u/%u\n"), i, name, agno, bno); if (nr == 1) { - if (agb < XFS_REFC_COW_START) + if (agb < XFS_REFC_COWFLAG) do_warn( _("leftover CoW extent has invalid startblock in record %u of %s btree block %u/%u\n"), i, name, agno, bno); - agb -= XFS_REFC_COW_START; + agb -= XFS_REFC_COWFLAG; } end = agb + len;