Lines Matching defs:rec

59 	union xfs_btree_rec	rec;
61 rec.inobt.ir_startino = cpu_to_be32(irec->ir_startino);
63 rec.inobt.ir_u.sp.ir_holemask = cpu_to_be16(irec->ir_holemask);
64 rec.inobt.ir_u.sp.ir_count = irec->ir_count;
65 rec.inobt.ir_u.sp.ir_freecount = irec->ir_freecount;
68 rec.inobt.ir_u.f.ir_freecount = cpu_to_be32(irec->ir_freecount);
70 rec.inobt.ir_free = cpu_to_be64(irec->ir_free);
71 return xfs_btree_update(cur, &rec);
78 const union xfs_btree_rec *rec,
81 irec->ir_startino = be32_to_cpu(rec->inobt.ir_startino);
83 irec->ir_holemask = be16_to_cpu(rec->inobt.ir_u.sp.ir_holemask);
84 irec->ir_count = rec->inobt.ir_u.sp.ir_count;
85 irec->ir_freecount = rec->inobt.ir_u.sp.ir_freecount;
94 be32_to_cpu(rec->inobt.ir_u.f.ir_freecount);
96 irec->ir_free = be64_to_cpu(rec->inobt.ir_free);
164 union xfs_btree_rec *rec;
168 error = xfs_btree_get_rec(cur, &rec, stat);
172 xfs_inobt_btrec_to_irec(mp, rec, irec);
256 xfs_inobt_rec_incore_t rec;
266 error = xfs_inobt_get_rec(cur, &rec, &i);
271 freecount += rec.ir_freecount;
552 struct xfs_inobt_rec_incore *nrec) /* in/out: new/merged rec. */
558 struct xfs_inobt_rec_incore rec;
585 error = xfs_inobt_get_rec(cur, &rec, &i);
593 if (XFS_IS_CORRUPT(mp, rec.ir_startino != nrec->ir_startino)) {
603 if (XFS_IS_CORRUPT(mp, !__xfs_inobt_can_merge(nrec, &rec))) {
609 trace_xfs_irec_merge_pre(mp, pag->pag_agno, rec.ir_startino,
610 rec.ir_holemask, nrec->ir_startino,
614 __xfs_inobt_rec_merge(nrec, &rec);
649 struct xfs_inobt_rec_incore *nrec) /* in/out: new rec. */
708 struct xfs_inobt_rec_incore rec;
903 rec.ir_startino = newino;
904 rec.ir_holemask = ~allocmask;
905 rec.ir_count = newlen;
906 rec.ir_freecount = newlen;
907 rec.ir_free = XFS_INOBT_ALL_FREE;
911 * if necessary. If a merge does occur, rec is updated to the
914 error = xfs_inobt_insert_sprec(pag, tp, agbp, &rec);
919 rec.ir_startino),
920 rec.ir_holemask, rec.ir_count);
933 * rec contains the fully merged and up to date inobt record
938 error = xfs_finobt_insert_sprec(pag, tp, agbp, &rec);
984 xfs_inobt_rec_incore_t *rec,
1000 error = xfs_inobt_get_rec(cur, rec, &i);
1016 xfs_inobt_rec_incore_t *rec,
1027 error = xfs_inobt_get_rec(cur, rec, &i);
1046 struct xfs_inobt_rec_incore *rec)
1051 if (!xfs_inobt_issparse(rec->ir_holemask))
1052 return xfs_lowbit64(rec->ir_free);
1054 realfree = xfs_inobt_irec_to_allocmask(rec);
1055 realfree &= rec->ir_free;
1076 struct xfs_inobt_rec_incore rec, trec;
1116 error = xfs_inobt_get_rec(cur, &rec, &j);
1125 if (rec.ir_freecount > 0) {
1156 &rec, &doneright);
1166 error = xfs_ialloc_next_rec(cur, &rec, &doneright, 0);
1181 rec.ir_startino - pagino;
1192 pag->pagl_rightrec = rec.ir_startino;
1194 rec = trec;
1199 if (!useleft && rec.ir_freecount) {
1203 pag->pagl_rightrec = rec.ir_startino;
1213 error = xfs_ialloc_next_rec(cur, &rec,
1227 pag->pagl_rightrec = rec.ir_startino;
1258 error = xfs_inobt_get_rec(cur, &rec, &j);
1262 if (j == 1 && rec.ir_freecount > 0) {
1285 error = xfs_inobt_get_rec(cur, &rec, &i);
1293 if (rec.ir_freecount > 0)
1306 offset = xfs_inobt_first_free_inode(&rec);
1309 ASSERT((XFS_AGINO_TO_OFFSET(mp, rec.ir_startino) %
1311 ino = XFS_AGINO_TO_INO(mp, pag->pag_agno, rec.ir_startino + offset);
1312 rec.ir_free &= ~XFS_INOBT_MASK(offset);
1313 rec.ir_freecount--;
1314 error = xfs_inobt_update(cur, &rec);
1344 struct xfs_inobt_rec_incore *rec)
1357 error = xfs_inobt_get_rec(lcur, rec, &i);
1370 if (pagino >= rec->ir_startino &&
1371 pagino < (rec->ir_startino + XFS_INODES_PER_CHUNK))
1403 if ((pagino - rec->ir_startino + XFS_INODES_PER_CHUNK - 1) >
1405 *rec = rrec;
1413 *rec = rrec;
1436 struct xfs_inobt_rec_incore *rec)
1447 error = xfs_inobt_get_rec(cur, rec, &i);
1469 error = xfs_inobt_get_rec(cur, rec, &i);
1490 struct xfs_inobt_rec_incore rec;
1502 error = xfs_inobt_get_rec(cur, &rec, &i);
1509 ASSERT((XFS_AGINO_TO_OFFSET(cur->bc_mp, rec.ir_startino) %
1512 rec.ir_free &= ~XFS_INOBT_MASK(offset);
1513 rec.ir_freecount--;
1516 rec.ir_free != frec->ir_free ||
1517 rec.ir_freecount != frec->ir_freecount)) {
1522 return xfs_inobt_update(cur, &rec);
1546 struct xfs_inobt_rec_incore rec;
1574 error = xfs_dialloc_ag_finobt_near(pagino, &cur, &rec);
1576 error = xfs_dialloc_ag_finobt_newino(agi, cur, &rec);
1580 offset = xfs_inobt_first_free_inode(&rec);
1583 ASSERT((XFS_AGINO_TO_OFFSET(mp, rec.ir_startino) %
1585 ino = XFS_AGINO_TO_INO(mp, pag->pag_agno, rec.ir_startino + offset);
1590 rec.ir_free &= ~XFS_INOBT_MASK(offset);
1591 rec.ir_freecount--;
1592 if (rec.ir_freecount)
1593 error = xfs_inobt_update(cur, &rec);
1611 error = xfs_dialloc_ag_update_inobt(icur, &rec, offset);
1922 struct xfs_inobt_rec_incore *rec)
1926 rec->ir_startino);
1933 if (!xfs_inobt_issparse(rec->ir_holemask)) {
1942 ASSERT(sizeof(rec->ir_holemask) <= sizeof(holemask[0]));
1943 holemask[0] = rec->ir_holemask;
2010 struct xfs_inobt_rec_incore rec;
2041 error = xfs_inobt_get_rec(cur, &rec, &i);
2055 off = agino - rec.ir_startino;
2057 ASSERT(!(rec.ir_free & XFS_INOBT_MASK(off)));
2061 rec.ir_free |= XFS_INOBT_MASK(off);
2062 rec.ir_freecount++;
2069 if (!xfs_has_ikeep(mp) && rec.ir_free == XFS_INOBT_ALL_FREE &&
2073 rec.ir_startino);
2074 xic->alloc = xfs_inobt_irec_to_allocmask(&rec);
2081 ilen = rec.ir_freecount;
2096 error = xfs_difree_inode_chunk(tp, pag->pag_agno, &rec);
2102 error = xfs_inobt_update(cur, &rec);
2122 *orec = rec;
2144 struct xfs_inobt_rec_incore rec;
2184 error = xfs_inobt_get_rec(cur, &rec, &i);
2193 rec.ir_free |= XFS_INOBT_MASK(offset);
2194 rec.ir_freecount++;
2197 rec.ir_free != ibtrec->ir_free ||
2198 rec.ir_freecount != ibtrec->ir_freecount)) {
2216 if (!xfs_has_ikeep(mp) && rec.ir_free == XFS_INOBT_ALL_FREE &&
2223 error = xfs_inobt_update(cur, &rec);
2260 struct xfs_inobt_rec_incore rec;/* btree record */
2299 error = xfs_difree_inobt(pag, tp, agbp, agino, xic, &rec);
2307 error = xfs_difree_finobt(pag, tp, agbp, agino, &rec);
2329 struct xfs_inobt_rec_incore rec;
2353 error = xfs_inobt_get_rec(cur, &rec, &i);
2364 if (rec.ir_startino > agino ||
2365 rec.ir_startino + M_IGEO(mp)->ialloc_inos <= agino)
2370 (rec.ir_free & XFS_INOBT_MASK(agino - rec.ir_startino)))
2373 *chunk_agbno = XFS_AGINO_TO_AGBNO(mp, rec.ir_startino);
2823 const union xfs_btree_rec *rec,
2830 xfs_inobt_btrec_to_irec(cur->bc_mp, rec, &irec);
3059 struct xfs_inobt_rec_incore rec;
3076 error = xfs_inobt_get_rec(cur, &rec, &has);
3087 if (rec.ir_startino + XFS_INODES_PER_CHUNK > agino) {