Lines Matching refs:irec
55 struct xfs_inobt_rec_incore *irec, in xchk_iallocbt_chunk_xref_other() argument
71 if (((irec->ir_freecount > 0 && !has_irec) || in xchk_iallocbt_chunk_xref_other()
72 (irec->ir_freecount == 0 && has_irec))) in xchk_iallocbt_chunk_xref_other()
80 struct xfs_inobt_rec_incore *irec, in xchk_iallocbt_chunk_xref() argument
91 xchk_iallocbt_chunk_xref_other(sc, irec, agino); in xchk_iallocbt_chunk_xref()
101 struct xfs_inobt_rec_incore *irec, in xchk_iallocbt_chunk() argument
115 xchk_iallocbt_chunk_xref(bs->sc, irec, agino, bno, len); in xchk_iallocbt_chunk()
136 struct xfs_inobt_rec_incore *irec, in xchk_iallocbt_check_cluster_freemask() argument
157 if (irec->ir_free & XFS_INOBT_MASK(chunkino + clusterino)) in xchk_iallocbt_check_cluster_freemask()
187 struct xfs_inobt_rec_incore *irec) in xchk_iallocbt_check_freemask() argument
210 for (agino = irec->ir_startino; in xchk_iallocbt_check_freemask()
211 agino < irec->ir_startino + XFS_INODES_PER_CHUNK; in xchk_iallocbt_check_freemask()
214 chunkino = agino - irec->ir_startino; in xchk_iallocbt_check_freemask()
224 ir_holemask = (irec->ir_holemask & holemask); in xchk_iallocbt_check_freemask()
255 fsino, chunkino, clusterino, irec, bp); in xchk_iallocbt_check_freemask()
276 struct xfs_inobt_rec_incore irec; in xchk_iallocbt_rec() local
288 xfs_inobt_btrec_to_irec(mp, rec, &irec); in xchk_iallocbt_rec()
290 if (irec.ir_count > XFS_INODES_PER_CHUNK || in xchk_iallocbt_rec()
291 irec.ir_freecount > XFS_INODES_PER_CHUNK) in xchk_iallocbt_rec()
294 real_freecount = irec.ir_freecount + in xchk_iallocbt_rec()
295 (XFS_INODES_PER_CHUNK - irec.ir_count); in xchk_iallocbt_rec()
296 if (real_freecount != xchk_iallocbt_freecount(irec.ir_free)) in xchk_iallocbt_rec()
299 agino = irec.ir_startino; in xchk_iallocbt_rec()
308 agbno = XFS_AGINO_TO_AGBNO(mp, irec.ir_startino); in xchk_iallocbt_rec()
314 irec.ir_count * mp->m_sb.sb_inodesize); in xchk_iallocbt_rec()
317 if (!xfs_inobt_issparse(irec.ir_holemask)) { in xchk_iallocbt_rec()
320 if (irec.ir_count != XFS_INODES_PER_CHUNK) in xchk_iallocbt_rec()
323 if (!xchk_iallocbt_chunk(bs, &irec, agino, len)) in xchk_iallocbt_rec()
329 holemask = irec.ir_holemask; in xchk_iallocbt_rec()
333 holes = ~xfs_inobt_irec_to_allocmask(&irec); in xchk_iallocbt_rec()
334 if ((holes & irec.ir_free) != holes || in xchk_iallocbt_rec()
335 irec.ir_freecount > irec.ir_count) in xchk_iallocbt_rec()
341 else if (!xchk_iallocbt_chunk(bs, &irec, agino, len)) in xchk_iallocbt_rec()
348 holecount + irec.ir_count != XFS_INODES_PER_CHUNK) in xchk_iallocbt_rec()
352 error = xchk_iallocbt_check_freemask(bs, &irec); in xchk_iallocbt_rec()