Lines Matching refs:rec
85 union xfs_btree_rec rec; in xfs_inobt_update() local
87 rec.inobt.ir_startino = cpu_to_be32(irec->ir_startino); in xfs_inobt_update()
89 rec.inobt.ir_u.sp.ir_holemask = cpu_to_be16(irec->ir_holemask); in xfs_inobt_update()
90 rec.inobt.ir_u.sp.ir_count = irec->ir_count; in xfs_inobt_update()
91 rec.inobt.ir_u.sp.ir_freecount = irec->ir_freecount; in xfs_inobt_update()
94 rec.inobt.ir_u.f.ir_freecount = cpu_to_be32(irec->ir_freecount); in xfs_inobt_update()
96 rec.inobt.ir_free = cpu_to_be64(irec->ir_free); in xfs_inobt_update()
97 return xfs_btree_update(cur, &rec); in xfs_inobt_update()
109 union xfs_btree_rec *rec; in xfs_inobt_get_rec() local
112 error = xfs_btree_get_rec(cur, &rec, stat); in xfs_inobt_get_rec()
116 irec->ir_startino = be32_to_cpu(rec->inobt.ir_startino); in xfs_inobt_get_rec()
118 irec->ir_holemask = be16_to_cpu(rec->inobt.ir_u.sp.ir_holemask); in xfs_inobt_get_rec()
119 irec->ir_count = rec->inobt.ir_u.sp.ir_count; in xfs_inobt_get_rec()
120 irec->ir_freecount = rec->inobt.ir_u.sp.ir_freecount; in xfs_inobt_get_rec()
129 be32_to_cpu(rec->inobt.ir_u.f.ir_freecount); in xfs_inobt_get_rec()
131 irec->ir_free = be64_to_cpu(rec->inobt.ir_free); in xfs_inobt_get_rec()
212 xfs_inobt_rec_incore_t rec; in xfs_check_agi_freecount() local
222 error = xfs_inobt_get_rec(cur, &rec, &i); in xfs_check_agi_freecount()
227 freecount += rec.ir_freecount; in xfs_check_agi_freecount()
523 struct xfs_inobt_rec_incore rec; in xfs_inobt_insert_sprec() local
548 error = xfs_inobt_get_rec(cur, &rec, &i); in xfs_inobt_insert_sprec()
553 rec.ir_startino == nrec->ir_startino, in xfs_inobt_insert_sprec()
560 XFS_WANT_CORRUPTED_GOTO(mp, __xfs_inobt_can_merge(nrec, &rec), in xfs_inobt_insert_sprec()
563 trace_xfs_irec_merge_pre(mp, agno, rec.ir_startino, in xfs_inobt_insert_sprec()
564 rec.ir_holemask, nrec->ir_startino, in xfs_inobt_insert_sprec()
568 __xfs_inobt_rec_merge(nrec, &rec); in xfs_inobt_insert_sprec()
609 struct xfs_inobt_rec_incore rec; in xfs_ialloc_ag_alloc() local
808 rec.ir_startino = newino; in xfs_ialloc_ag_alloc()
809 rec.ir_holemask = ~allocmask; in xfs_ialloc_ag_alloc()
810 rec.ir_count = newlen; in xfs_ialloc_ag_alloc()
811 rec.ir_freecount = newlen; in xfs_ialloc_ag_alloc()
812 rec.ir_free = XFS_INOBT_ALL_FREE; in xfs_ialloc_ag_alloc()
820 &rec, true); in xfs_ialloc_ag_alloc()
825 rec.ir_startino), in xfs_ialloc_ag_alloc()
826 rec.ir_holemask, rec.ir_count); in xfs_ialloc_ag_alloc()
845 XFS_BTNUM_FINO, &rec, in xfs_ialloc_ag_alloc()
1032 xfs_inobt_rec_incore_t *rec, in xfs_ialloc_next_rec() argument
1048 error = xfs_inobt_get_rec(cur, rec, &i); in xfs_ialloc_next_rec()
1061 xfs_inobt_rec_incore_t *rec, in xfs_ialloc_get_rec() argument
1072 error = xfs_inobt_get_rec(cur, rec, &i); in xfs_ialloc_get_rec()
1088 struct xfs_inobt_rec_incore *rec) in xfs_inobt_first_free_inode() argument
1093 if (!xfs_inobt_issparse(rec->ir_holemask)) in xfs_inobt_first_free_inode()
1094 return xfs_lowbit64(rec->ir_free); in xfs_inobt_first_free_inode()
1096 realfree = xfs_inobt_irec_to_allocmask(rec); in xfs_inobt_first_free_inode()
1097 realfree &= rec->ir_free; in xfs_inobt_first_free_inode()
1119 struct xfs_inobt_rec_incore rec, trec; in xfs_dialloc_ag_inobt() local
1157 error = xfs_inobt_get_rec(cur, &rec, &j); in xfs_dialloc_ag_inobt()
1162 if (rec.ir_freecount > 0) { in xfs_dialloc_ag_inobt()
1193 &rec, &doneright); in xfs_dialloc_ag_inobt()
1203 error = xfs_ialloc_next_rec(cur, &rec, &doneright, 0); in xfs_dialloc_ag_inobt()
1221 pag->pagl_rightrec = rec.ir_startino; in xfs_dialloc_ag_inobt()
1230 rec.ir_startino - pagino; in xfs_dialloc_ag_inobt()
1237 rec = trec; in xfs_dialloc_ag_inobt()
1242 pag->pagl_rightrec = rec.ir_startino; in xfs_dialloc_ag_inobt()
1248 if (!useleft && rec.ir_freecount) { in xfs_dialloc_ag_inobt()
1252 pag->pagl_rightrec = rec.ir_startino; in xfs_dialloc_ag_inobt()
1262 error = xfs_ialloc_next_rec(cur, &rec, in xfs_dialloc_ag_inobt()
1296 error = xfs_inobt_get_rec(cur, &rec, &j); in xfs_dialloc_ag_inobt()
1300 if (j == 1 && rec.ir_freecount > 0) { in xfs_dialloc_ag_inobt()
1319 error = xfs_inobt_get_rec(cur, &rec, &i); in xfs_dialloc_ag_inobt()
1323 if (rec.ir_freecount > 0) in xfs_dialloc_ag_inobt()
1332 offset = xfs_inobt_first_free_inode(&rec); in xfs_dialloc_ag_inobt()
1335 ASSERT((XFS_AGINO_TO_OFFSET(mp, rec.ir_startino) % in xfs_dialloc_ag_inobt()
1337 ino = XFS_AGINO_TO_INO(mp, agno, rec.ir_startino + offset); in xfs_dialloc_ag_inobt()
1338 rec.ir_free &= ~XFS_INOBT_MASK(offset); in xfs_dialloc_ag_inobt()
1339 rec.ir_freecount--; in xfs_dialloc_ag_inobt()
1340 error = xfs_inobt_update(cur, &rec); in xfs_dialloc_ag_inobt()
1372 struct xfs_inobt_rec_incore *rec) in xfs_dialloc_ag_finobt_near() argument
1385 error = xfs_inobt_get_rec(lcur, rec, &i); in xfs_dialloc_ag_finobt_near()
1395 if (pagino >= rec->ir_startino && in xfs_dialloc_ag_finobt_near()
1396 pagino < (rec->ir_startino + XFS_INODES_PER_CHUNK)) in xfs_dialloc_ag_finobt_near()
1420 if ((pagino - rec->ir_startino + XFS_INODES_PER_CHUNK - 1) > in xfs_dialloc_ag_finobt_near()
1422 *rec = rrec; in xfs_dialloc_ag_finobt_near()
1430 *rec = rrec; in xfs_dialloc_ag_finobt_near()
1453 struct xfs_inobt_rec_incore *rec) in xfs_dialloc_ag_finobt_newino() argument
1464 error = xfs_inobt_get_rec(cur, rec, &i); in xfs_dialloc_ag_finobt_newino()
1480 error = xfs_inobt_get_rec(cur, rec, &i); in xfs_dialloc_ag_finobt_newino()
1498 struct xfs_inobt_rec_incore rec; in xfs_dialloc_ag_update_inobt() local
1507 error = xfs_inobt_get_rec(cur, &rec, &i); in xfs_dialloc_ag_update_inobt()
1511 ASSERT((XFS_AGINO_TO_OFFSET(cur->bc_mp, rec.ir_startino) % in xfs_dialloc_ag_update_inobt()
1514 rec.ir_free &= ~XFS_INOBT_MASK(offset); in xfs_dialloc_ag_update_inobt()
1515 rec.ir_freecount--; in xfs_dialloc_ag_update_inobt()
1517 XFS_WANT_CORRUPTED_RETURN(cur->bc_mp, (rec.ir_free == frec->ir_free) && in xfs_dialloc_ag_update_inobt()
1518 (rec.ir_freecount == frec->ir_freecount)); in xfs_dialloc_ag_update_inobt()
1520 return xfs_inobt_update(cur, &rec); in xfs_dialloc_ag_update_inobt()
1545 struct xfs_inobt_rec_incore rec; in xfs_dialloc_ag() local
1575 error = xfs_dialloc_ag_finobt_near(pagino, &cur, &rec); in xfs_dialloc_ag()
1577 error = xfs_dialloc_ag_finobt_newino(agi, cur, &rec); in xfs_dialloc_ag()
1581 offset = xfs_inobt_first_free_inode(&rec); in xfs_dialloc_ag()
1584 ASSERT((XFS_AGINO_TO_OFFSET(mp, rec.ir_startino) % in xfs_dialloc_ag()
1586 ino = XFS_AGINO_TO_INO(mp, agno, rec.ir_startino + offset); in xfs_dialloc_ag()
1591 rec.ir_free &= ~XFS_INOBT_MASK(offset); in xfs_dialloc_ag()
1592 rec.ir_freecount--; in xfs_dialloc_ag()
1593 if (rec.ir_freecount) in xfs_dialloc_ag()
1594 error = xfs_inobt_update(cur, &rec); in xfs_dialloc_ag()
1612 error = xfs_dialloc_ag_update_inobt(icur, &rec, offset); in xfs_dialloc_ag()
1819 struct xfs_inobt_rec_incore *rec, in xfs_difree_inode_chunk() argument
1822 xfs_agblock_t sagbno = XFS_AGINO_TO_AGBNO(mp, rec->ir_startino); in xfs_difree_inode_chunk()
1829 if (!xfs_inobt_issparse(rec->ir_holemask)) { in xfs_difree_inode_chunk()
1832 XFS_AGINO_TO_AGBNO(mp, rec->ir_startino)), in xfs_difree_inode_chunk()
1838 ASSERT(sizeof(rec->ir_holemask) <= sizeof(holemask[0])); in xfs_difree_inode_chunk()
1839 holemask[0] = rec->ir_holemask; in xfs_difree_inode_chunk()
1901 struct xfs_inobt_rec_incore rec; in xfs_difree_inobt() local
1928 error = xfs_inobt_get_rec(cur, &rec, &i); in xfs_difree_inobt()
1938 off = agino - rec.ir_startino; in xfs_difree_inobt()
1940 ASSERT(!(rec.ir_free & XFS_INOBT_MASK(off))); in xfs_difree_inobt()
1944 rec.ir_free |= XFS_INOBT_MASK(off); in xfs_difree_inobt()
1945 rec.ir_freecount++; in xfs_difree_inobt()
1953 rec.ir_free == XFS_INOBT_ALL_FREE && in xfs_difree_inobt()
1956 xic->first_ino = XFS_AGINO_TO_INO(mp, agno, rec.ir_startino); in xfs_difree_inobt()
1957 xic->alloc = xfs_inobt_irec_to_allocmask(&rec); in xfs_difree_inobt()
1964 ilen = rec.ir_freecount; in xfs_difree_inobt()
1980 xfs_difree_inode_chunk(mp, agno, &rec, flist); in xfs_difree_inobt()
1984 error = xfs_inobt_update(cur, &rec); in xfs_difree_inobt()
2006 *orec = rec; in xfs_difree_inobt()
2029 struct xfs_inobt_rec_incore rec; in xfs_difree_finobt() local
2065 error = xfs_inobt_get_rec(cur, &rec, &i); in xfs_difree_finobt()
2070 rec.ir_free |= XFS_INOBT_MASK(offset); in xfs_difree_finobt()
2071 rec.ir_freecount++; in xfs_difree_finobt()
2073 XFS_WANT_CORRUPTED_GOTO(mp, (rec.ir_free == ibtrec->ir_free) && in xfs_difree_finobt()
2074 (rec.ir_freecount == ibtrec->ir_freecount), in xfs_difree_finobt()
2089 if (rec.ir_free == XFS_INOBT_ALL_FREE && in xfs_difree_finobt()
2097 error = xfs_inobt_update(cur, &rec); in xfs_difree_finobt()
2135 struct xfs_inobt_rec_incore rec;/* btree record */ in xfs_difree() local
2177 error = xfs_difree_inobt(mp, tp, agbp, agino, flist, xic, &rec); in xfs_difree()
2185 error = xfs_difree_finobt(mp, tp, agbp, agino, &rec); in xfs_difree()
2207 struct xfs_inobt_rec_incore rec; in xfs_imap_lookup() local
2231 error = xfs_inobt_get_rec(cur, &rec, &i); in xfs_imap_lookup()
2242 if (rec.ir_startino > agino || in xfs_imap_lookup()
2243 rec.ir_startino + mp->m_ialloc_inos <= agino) in xfs_imap_lookup()
2248 (rec.ir_free & XFS_INOBT_MASK(agino - rec.ir_startino))) in xfs_imap_lookup()
2251 *chunk_agbno = XFS_AGINO_TO_AGBNO(mp, rec.ir_startino); in xfs_imap_lookup()