@@ -69,10 +69,10 @@ xfs_bmap_compute_maxlevels(
* available.
*/
if (whichfork == XFS_DATA_FORK) {
- maxleafents = MAXEXTNUM;
+ maxleafents = XFS_IFORK_EXTCNT_MAXS32;
sz = xfs_bmdr_space_calc(MINDBTPTRS);
} else {
- maxleafents = MAXAEXTNUM;
+ maxleafents = XFS_IFORK_EXTCNT_MAXS16;
sz = xfs_bmdr_space_calc(MINABTPTRS);
}
maxrootrecs = xfs_bmdr_maxrecs(sz, 0);
@@ -1110,11 +1110,11 @@ enum xfs_dinode_fmt {
{ XFS_DINODE_FMT_UUID, "uuid" }
/*
- * Max values for extlen, extnum, aextnum.
+ * Max values for extlen, disk inode's extent counters.
*/
-#define MAXEXTLEN ((uint32_t)0x001fffff) /* 21 bits */
-#define MAXEXTNUM ((int32_t)0x7fffffff) /* signed int */
-#define MAXAEXTNUM ((int16_t)0x7fff) /* signed short */
+#define MAXEXTLEN ((uint32_t)0x1fffff) /* 21 bits */
+#define XFS_IFORK_EXTCNT_MAXS32 ((int32_t)0x7fffffff) /* Signed 32-bits */
+#define XFS_IFORK_EXTCNT_MAXS16 ((int16_t)0x7fff) /* Signed 16-bits */
/*
* Inode minimum and maximum sizes.
@@ -362,9 +362,9 @@ xfs_dinode_verify_fork(
break;
case XFS_DINODE_FMT_BTREE:
if (whichfork == XFS_ATTR_FORK) {
- if (di_nextents > MAXAEXTNUM)
+ if (di_nextents > XFS_IFORK_EXTCNT_MAXS16)
return __this_address;
- } else if (di_nextents > MAXEXTNUM) {
+ } else if (di_nextents > XFS_IFORK_EXTCNT_MAXS32) {
return __this_address;
}
break;
@@ -734,7 +734,8 @@ xfs_iext_count_may_overflow(
if (whichfork == XFS_COW_FORK)
return 0;
- max_exts = (whichfork == XFS_ATTR_FORK) ? MAXAEXTNUM : MAXEXTNUM;
+ max_exts = (whichfork == XFS_ATTR_FORK) ?
+ XFS_IFORK_EXTCNT_MAXS16 : XFS_IFORK_EXTCNT_MAXS32;
if (XFS_TEST_ERROR(false, ip->i_mount, XFS_ERRTAG_REDUCE_MAX_IEXTENTS))
max_exts = 10;
@@ -1831,7 +1831,7 @@ _("bad nblocks %llu for inode %" PRIu64 ", would reset to %" PRIu64 "\n"),
}
}
- if (nextents > MAXEXTNUM) {
+ if (nextents > XFS_IFORK_EXTCNT_MAXS32) {
do_warn(
_("too many data fork extents (%" PRIu64 ") in inode %" PRIu64 "\n"),
nextents, lino);
@@ -1854,7 +1854,7 @@ _("bad nextents %d for inode %" PRIu64 ", would reset to %" PRIu64 "\n"),
}
}
- if (anextents > MAXAEXTNUM) {
+ if (anextents > XFS_IFORK_EXTCNT_MAXS16) {
do_warn(
_("too many attr fork extents (%" PRIu64 ") in inode %" PRIu64 "\n"),
anextents, lino);
In preparation for introducing larger extent count limits, this commit renames existing extent count limits based on their signedness and width. Signed-off-by: Chandan Babu R <chandanrlinux@gmail.com> --- libxfs/xfs_bmap.c | 4 ++-- libxfs/xfs_format.h | 8 ++++---- libxfs/xfs_inode_buf.c | 4 ++-- libxfs/xfs_inode_fork.c | 3 ++- repair/dinode.c | 4 ++-- 5 files changed, 12 insertions(+), 11 deletions(-)