Lines Matching refs:irec
59 struct xfs_inobt_rec_incore *irec, in xchk_iallocbt_chunk_xref_other() argument
75 if (((irec->ir_freecount > 0 && !has_irec) || in xchk_iallocbt_chunk_xref_other()
76 (irec->ir_freecount == 0 && has_irec))) in xchk_iallocbt_chunk_xref_other()
84 struct xfs_inobt_rec_incore *irec, in xchk_iallocbt_chunk_xref() argument
93 xchk_iallocbt_chunk_xref_other(sc, irec, agino); in xchk_iallocbt_chunk_xref()
102 struct xfs_inobt_rec_incore *irec, in xchk_iallocbt_chunk() argument
116 xchk_iallocbt_chunk_xref(bs->sc, irec, agino, bno, len); in xchk_iallocbt_chunk()
147 struct xfs_inobt_rec_incore *irec, in xchk_iallocbt_check_cluster_ifree() argument
166 agino = irec->ir_startino + irec_ino; in xchk_iallocbt_check_cluster_ifree()
168 irec_free = (irec->ir_free & XFS_INOBT_MASK(irec_ino)); in xchk_iallocbt_check_cluster_ifree()
210 struct xfs_inobt_rec_incore *irec, in xchk_iallocbt_check_cluster() argument
229 agbno = XFS_AGINO_TO_AGBNO(mp, irec->ir_startino + cluster_base); in xchk_iallocbt_check_cluster()
245 ir_holemask = (irec->ir_holemask & cluster_mask); in xchk_iallocbt_check_cluster()
248 imap.im_boffset = XFS_INO_TO_OFFSET(mp, irec->ir_startino) << in xchk_iallocbt_check_cluster()
257 trace_xchk_iallocbt_check_cluster(mp, agno, irec->ir_startino, in xchk_iallocbt_check_cluster()
260 XFS_INO_TO_OFFSET(mp, irec->ir_startino + in xchk_iallocbt_check_cluster()
295 error = xchk_iallocbt_check_cluster_ifree(bs, irec, in xchk_iallocbt_check_cluster()
314 struct xfs_inobt_rec_incore *irec) in xchk_iallocbt_check_clusters() argument
329 error = xchk_iallocbt_check_cluster(bs, irec, cluster_base); in xchk_iallocbt_check_clusters()
346 struct xfs_inobt_rec_incore *irec) in xchk_iallocbt_rec_alignment() argument
369 if (irec->ir_startino & imask) in xchk_iallocbt_rec_alignment()
380 if (irec->ir_startino != iabt->next_startino) { in xchk_iallocbt_rec_alignment()
396 if (irec->ir_startino & (igeo->cluster_align_inodes - 1)) { in xchk_iallocbt_rec_alignment()
401 if (irec->ir_startino & (igeo->inodes_per_cluster - 1)) { in xchk_iallocbt_rec_alignment()
414 iabt->next_startino = irec->ir_startino + XFS_INODES_PER_CHUNK; in xchk_iallocbt_rec_alignment()
415 iabt->next_cluster_ino = irec->ir_startino + igeo->inodes_per_cluster; in xchk_iallocbt_rec_alignment()
426 struct xfs_inobt_rec_incore irec; in xchk_iallocbt_rec() local
437 xfs_inobt_btrec_to_irec(mp, rec, &irec); in xchk_iallocbt_rec()
439 if (irec.ir_count > XFS_INODES_PER_CHUNK || in xchk_iallocbt_rec()
440 irec.ir_freecount > XFS_INODES_PER_CHUNK) in xchk_iallocbt_rec()
443 real_freecount = irec.ir_freecount + in xchk_iallocbt_rec()
444 (XFS_INODES_PER_CHUNK - irec.ir_count); in xchk_iallocbt_rec()
445 if (real_freecount != xchk_iallocbt_freecount(irec.ir_free)) in xchk_iallocbt_rec()
448 agino = irec.ir_startino; in xchk_iallocbt_rec()
456 xchk_iallocbt_rec_alignment(bs, &irec); in xchk_iallocbt_rec()
460 iabt->inodes += irec.ir_count; in xchk_iallocbt_rec()
463 if (!xfs_inobt_issparse(irec.ir_holemask)) { in xchk_iallocbt_rec()
466 if (irec.ir_count != XFS_INODES_PER_CHUNK) in xchk_iallocbt_rec()
469 if (!xchk_iallocbt_chunk(bs, &irec, agino, len)) in xchk_iallocbt_rec()
475 holemask = irec.ir_holemask; in xchk_iallocbt_rec()
479 holes = ~xfs_inobt_irec_to_allocmask(&irec); in xchk_iallocbt_rec()
480 if ((holes & irec.ir_free) != holes || in xchk_iallocbt_rec()
481 irec.ir_freecount > irec.ir_count) in xchk_iallocbt_rec()
487 else if (!xchk_iallocbt_chunk(bs, &irec, agino, len)) in xchk_iallocbt_rec()
494 holecount + irec.ir_count != XFS_INODES_PER_CHUNK) in xchk_iallocbt_rec()
498 error = xchk_iallocbt_check_clusters(bs, &irec); in xchk_iallocbt_rec()