const struct xfs_buf_ops *ops)
{
struct aghdr_cnts *agcnts = priv;
+ xfs_agino_t lastino = 0;
int i;
int numrecs;
int state;
* the block. skip processing of bogus records.
*/
for (i = 0; i < numrecs; i++) {
+ xfs_agino_t startino;
+
freecount = inorec_get_freecount(mp, &rp[i]);
+ startino = be32_to_cpu(rp[i].ir_startino);
+ if (i > 0 && startino <= lastino)
+ do_warn(_(
+ "out-of-order ino btree record %d (%u) block %u/%u\n"),
+ i, startino, agno, bno);
+ else
+ lastino = startino + XFS_INODES_PER_CHUNK - 1;
if (magic == XFS_IBT_MAGIC ||
magic == XFS_IBT_CRC_MAGIC) {