/fs/xfs/scrub/ |
D | bmap.c | 120 struct xfs_bmbt_irec *irec, in xchk_bmap_get_rmap() argument 132 if (irec->br_state == XFS_EXT_UNWRITTEN) in xchk_bmap_get_rmap() 142 offset = irec->br_startoff; in xchk_bmap_get_rmap() 161 irec->br_startoff); in xchk_bmap_get_rmap() 169 struct xfs_bmbt_irec *irec, in xchk_bmap_xref_rmap() argument 180 if (!xchk_bmap_get_rmap(info, irec, agbno, owner, &rmap)) in xchk_bmap_xref_rmap() 189 irec->br_startoff); in xchk_bmap_xref_rmap() 192 if (rmap_end != agbno + irec->br_blockcount) in xchk_bmap_xref_rmap() 194 irec->br_startoff); in xchk_bmap_xref_rmap() 197 if (rmap.rm_offset != irec->br_startoff) in xchk_bmap_xref_rmap() [all …]
|
D | ialloc.c | 67 struct xfs_inobt_rec_incore *irec, in xchk_inobt_xref_finobt() argument 108 if (irec->ir_free == 0) in xchk_inobt_xref_finobt() 112 if (irec->ir_free == XFS_INOBT_ALL_FREE) in xchk_inobt_xref_finobt() 134 struct xfs_inobt_rec_incore *irec, in xchk_inobt_chunk_xref_finobt() argument 147 for (i = agino, rec_idx = agino - irec->ir_startino; in xchk_inobt_chunk_xref_finobt() 153 free = irec->ir_free & (1ULL << rec_idx); in xchk_inobt_chunk_xref_finobt() 155 hole = irec->ir_holemask & (1U << hole_idx); in xchk_inobt_chunk_xref_finobt() 157 error = xchk_inobt_xref_finobt(sc, irec, i, free, hole); in xchk_inobt_chunk_xref_finobt() 175 struct xfs_inobt_rec_incore irec; in xchk_finobt_xref_inobt() local 190 error = xfs_inobt_get_rec(cur, &irec, &has_record); in xchk_finobt_xref_inobt() [all …]
|
D | rmap.c | 72 struct xfs_rmap_irec *irec) in xchk_rmapbt_xref_refc() argument 85 non_inode = XFS_RMAP_NON_INODE_OWNER(irec->rm_owner); in xchk_rmapbt_xref_refc() 86 is_bmbt = irec->rm_flags & XFS_RMAP_BMBT_BLOCK; in xchk_rmapbt_xref_refc() 87 is_attr = irec->rm_flags & XFS_RMAP_ATTR_FORK; in xchk_rmapbt_xref_refc() 88 is_unwritten = irec->rm_flags & XFS_RMAP_UNWRITTEN; in xchk_rmapbt_xref_refc() 91 error = xfs_refcount_find_shared(sc->sa.refc_cur, irec->rm_startblock, in xchk_rmapbt_xref_refc() 92 irec->rm_blockcount, &fbno, &flen, false); in xchk_rmapbt_xref_refc() 103 struct xfs_rmap_irec *irec) in xchk_rmapbt_xref() argument 105 xfs_agblock_t agbno = irec->rm_startblock; in xchk_rmapbt_xref() 106 xfs_extlen_t len = irec->rm_blockcount; in xchk_rmapbt_xref() [all …]
|
D | refcount.c | 275 const struct xfs_refcount_irec *irec) in xchk_refcountbt_xref_rmap() argument 279 .bno = irec->rc_startblock, in xchk_refcountbt_xref_rmap() 280 .len = irec->rc_blockcount, in xchk_refcountbt_xref_rmap() 281 .refcount = irec->rc_refcount, in xchk_refcountbt_xref_rmap() 295 low.rm_startblock = irec->rc_startblock; in xchk_refcountbt_xref_rmap() 297 high.rm_startblock = irec->rc_startblock + irec->rc_blockcount - 1; in xchk_refcountbt_xref_rmap() 306 if (irec->rc_refcount != refchk.seen) { in xchk_refcountbt_xref_rmap() 307 trace_xchk_refcount_incorrect(sc->sa.pag, irec, refchk.seen); in xchk_refcountbt_xref_rmap() 322 const struct xfs_refcount_irec *irec) in xchk_refcountbt_xref() argument 327 xchk_xref_is_used_space(sc, irec->rc_startblock, irec->rc_blockcount); in xchk_refcountbt_xref() [all …]
|
D | alloc.c | 87 const struct xfs_alloc_rec_incore *irec) in xchk_allocbt_xref() argument 89 xfs_agblock_t agbno = irec->ar_startblock; in xchk_allocbt_xref() 90 xfs_extlen_t len = irec->ar_blockcount; in xchk_allocbt_xref() 107 const struct xfs_alloc_rec_incore *irec) in xchk_allocbt_mergeable() argument 113 ca->prev.ar_startblock + ca->prev.ar_blockcount == irec->ar_startblock && in xchk_allocbt_mergeable() 114 ca->prev.ar_blockcount + irec->ar_blockcount < (uint32_t)~0U) in xchk_allocbt_mergeable() 117 memcpy(&ca->prev, irec, sizeof(*irec)); in xchk_allocbt_mergeable() 126 struct xfs_alloc_rec_incore irec; in xchk_allocbt_rec() local 129 xfs_alloc_btrec_to_irec(rec, &irec); in xchk_allocbt_rec() 130 if (xfs_alloc_check_irec(bs->cur, &irec) != NULL) { in xchk_allocbt_rec() [all …]
|
D | quota.c | 181 struct xfs_bmbt_irec irec = { 0 }; in xchk_quota_data_fork() local 196 for_each_xfs_iext(ifp, &icur, &irec) { in xchk_quota_data_fork() 204 if (!xfs_bmap_is_written_extent(&irec) || in xchk_quota_data_fork() 205 irec.br_startoff > max_dqid_off || in xchk_quota_data_fork() 206 irec.br_startoff + irec.br_blockcount - 1 > max_dqid_off) { in xchk_quota_data_fork() 208 irec.br_startoff); in xchk_quota_data_fork()
|
/fs/xfs/ |
D | xfs_iwalk.c | 99 struct xfs_inobt_rec_incore *irec) in xfs_iwalk_ichunk_ra() argument 106 agbno = XFS_AGINO_TO_AGBNO(mp, irec->ir_startino); in xfs_iwalk_ichunk_ra() 113 if (imask & ~irec->ir_free) { in xfs_iwalk_ichunk_ra() 131 struct xfs_inobt_rec_incore *irec) /* btree record */ in xfs_iwalk_adjust_start() argument 136 idx = agino - irec->ir_startino; in xfs_iwalk_adjust_start() 144 if (XFS_INOBT_MASK(i) & ~irec->ir_free) in xfs_iwalk_adjust_start() 145 irec->ir_freecount++; in xfs_iwalk_adjust_start() 148 irec->ir_free |= xfs_inobt_maskn(0, idx); in xfs_iwalk_adjust_start() 192 struct xfs_inobt_rec_incore *irec = &iwag->recs[i]; in xfs_iwalk_ag_recs() local 194 trace_xfs_iwalk_ag_rec(mp, pag->pag_agno, irec); in xfs_iwalk_ag_recs() [all …]
|
D | xfs_fsmap.c | 400 struct xfs_rmap_irec irec; in xfs_getfsmap_datadev_bnobt_helper() local 406 irec.rm_startblock = rec->ar_startblock; in xfs_getfsmap_datadev_bnobt_helper() 407 irec.rm_blockcount = rec->ar_blockcount; in xfs_getfsmap_datadev_bnobt_helper() 408 irec.rm_owner = XFS_RMAP_OWN_NULL; /* "free" */ in xfs_getfsmap_datadev_bnobt_helper() 409 irec.rm_offset = 0; in xfs_getfsmap_datadev_bnobt_helper() 410 irec.rm_flags = 0; in xfs_getfsmap_datadev_bnobt_helper() 412 return xfs_getfsmap_helper(cur->bc_tp, info, &irec, rec_daddr, 0); in xfs_getfsmap_datadev_bnobt_helper() 418 struct xfs_rmap_irec *irec, in xfs_getfsmap_set_irec_flags() argument 421 irec->rm_flags = 0; in xfs_getfsmap_set_irec_flags() 423 irec->rm_flags |= XFS_RMAP_ATTR_FORK; in xfs_getfsmap_set_irec_flags() [all …]
|
D | xfs_itable.c | 391 const struct xfs_inobt_rec_incore *irec, in xfs_inumbers_walk() argument 395 .xi_startino = XFS_AGINO_TO_INO(mp, agno, irec->ir_startino), in xfs_inumbers_walk() 396 .xi_alloccount = irec->ir_count - irec->ir_freecount, in xfs_inumbers_walk() 397 .xi_allocmask = ~irec->ir_free, in xfs_inumbers_walk() 407 ic->breq->startino = XFS_AGINO_TO_INO(mp, agno, irec->ir_startino) + in xfs_inumbers_walk()
|
D | xfs_refcount_item.c | 567 struct xfs_bmbt_irec irec = { in xfs_cui_item_recover() local 574 xfs_refcount_increase_extent(tp, &irec); in xfs_cui_item_recover() 577 xfs_refcount_decrease_extent(tp, &irec); in xfs_cui_item_recover() 581 irec.br_startblock, in xfs_cui_item_recover() 582 irec.br_blockcount); in xfs_cui_item_recover() 586 irec.br_startblock, in xfs_cui_item_recover() 587 irec.br_blockcount); in xfs_cui_item_recover()
|
D | xfs_trace.h | 1445 int whichfork, struct xfs_bmbt_irec *irec), 1446 TP_ARGS(ip, offset, count, whichfork, irec), 1465 __entry->startoff = irec ? irec->br_startoff : 0; 1466 __entry->startblock = irec ? irec->br_startblock : 0; 1467 __entry->blockcount = irec ? irec->br_blockcount : 0; 1485 int whichfork, struct xfs_bmbt_irec *irec), \ 1486 TP_ARGS(ip, offset, count, whichfork, irec)) 2968 struct xfs_refcount_irec *irec), 2969 TP_ARGS(mp, agno, irec), 2981 __entry->domain = irec->rc_domain; [all …]
|
D | xfs_reflink.c | 170 struct xfs_bmbt_irec *irec, in xfs_reflink_trim_around_shared() argument 182 if (!xfs_is_cow_inode(ip) || !xfs_bmap_is_written_extent(irec)) { in xfs_reflink_trim_around_shared() 187 trace_xfs_reflink_trim_around_shared(ip, irec); in xfs_reflink_trim_around_shared() 189 pag = xfs_perag_get(mp, XFS_FSB_TO_AGNO(mp, irec->br_startblock)); in xfs_reflink_trim_around_shared() 190 agbno = XFS_FSB_TO_AGBNO(mp, irec->br_startblock); in xfs_reflink_trim_around_shared() 191 aglen = irec->br_blockcount; in xfs_reflink_trim_around_shared() 212 irec->br_blockcount = flen; in xfs_reflink_trim_around_shared() 223 irec->br_blockcount = fbno - agbno; in xfs_reflink_trim_around_shared()
|
/fs/xfs/libxfs/ |
D | xfs_refcount.h | 23 struct xfs_refcount_irec *irec, int *stat); 62 const struct xfs_refcount_irec *irec) in xfs_refcount_check_domain() argument 64 if (irec->rc_domain == XFS_REFC_DOMAIN_COW && irec->rc_refcount != 1) in xfs_refcount_check_domain() 66 if (irec->rc_domain == XFS_REFC_DOMAIN_SHARED && irec->rc_refcount < 2) in xfs_refcount_check_domain() 75 struct xfs_bmbt_irec *irec); 77 struct xfs_bmbt_irec *irec); 119 struct xfs_refcount_irec *irec); 121 const struct xfs_refcount_irec *irec); 123 struct xfs_refcount_irec *irec, int *stat);
|
D | xfs_rmap.h | 51 const struct xfs_rmap_irec *irec) in xfs_rmap_irec_offset_pack() argument 55 x = XFS_RMAP_OFF(irec->rm_offset); in xfs_rmap_irec_offset_pack() 56 if (irec->rm_flags & XFS_RMAP_ATTR_FORK) in xfs_rmap_irec_offset_pack() 58 if (irec->rm_flags & XFS_RMAP_BMBT_BLOCK) in xfs_rmap_irec_offset_pack() 60 if (irec->rm_flags & XFS_RMAP_UNWRITTEN) in xfs_rmap_irec_offset_pack() 68 struct xfs_rmap_irec *irec) in xfs_rmap_irec_offset_unpack() argument 73 irec->rm_offset = XFS_RMAP_OFF(offset); in xfs_rmap_irec_offset_unpack() 74 irec->rm_flags = 0; in xfs_rmap_irec_offset_unpack() 76 irec->rm_flags |= XFS_RMAP_ATTR_FORK; in xfs_rmap_irec_offset_unpack() 78 irec->rm_flags |= XFS_RMAP_BMBT_BLOCK; in xfs_rmap_irec_offset_unpack() [all …]
|
D | xfs_rmap.c | 40 struct xfs_rmap_irec *irec, in xfs_rmap_lookup_le() argument 53 if (error || !(*stat) || !irec) in xfs_rmap_lookup_le() 56 error = xfs_rmap_get_rec(cur, irec, &get_stat); in xfs_rmap_lookup_le() 95 struct xfs_rmap_irec *irec) in xfs_rmap_update() argument 101 irec->rm_startblock, irec->rm_blockcount, in xfs_rmap_update() 102 irec->rm_owner, irec->rm_offset, irec->rm_flags); in xfs_rmap_update() 104 rec.rmap.rm_startblock = cpu_to_be32(irec->rm_startblock); in xfs_rmap_update() 105 rec.rmap.rm_blockcount = cpu_to_be32(irec->rm_blockcount); in xfs_rmap_update() 106 rec.rmap.rm_owner = cpu_to_be64(irec->rm_owner); in xfs_rmap_update() 108 xfs_rmap_irec_offset_pack(irec)); in xfs_rmap_update() [all …]
|
D | xfs_refcount.c | 106 struct xfs_refcount_irec *irec) in xfs_refcount_btrec_to_irec() argument 113 irec->rc_domain = XFS_REFC_DOMAIN_COW; in xfs_refcount_btrec_to_irec() 115 irec->rc_domain = XFS_REFC_DOMAIN_SHARED; in xfs_refcount_btrec_to_irec() 118 irec->rc_startblock = start; in xfs_refcount_btrec_to_irec() 119 irec->rc_blockcount = be32_to_cpu(rec->refc.rc_blockcount); in xfs_refcount_btrec_to_irec() 120 irec->rc_refcount = be32_to_cpu(rec->refc.rc_refcount); in xfs_refcount_btrec_to_irec() 127 const struct xfs_refcount_irec *irec) in xfs_refcount_check_irec() argument 131 if (irec->rc_blockcount == 0 || irec->rc_blockcount > MAXREFCEXTLEN) in xfs_refcount_check_irec() 134 if (!xfs_refcount_check_domain(irec)) in xfs_refcount_check_irec() 138 if (!xfs_verify_agbext(pag, irec->rc_startblock, irec->rc_blockcount)) in xfs_refcount_check_irec() [all …]
|
D | xfs_bmap.h | 148 static inline bool xfs_bmap_is_real_extent(const struct xfs_bmbt_irec *irec) in xfs_bmap_is_real_extent() argument 150 return irec->br_startblock != HOLESTARTBLOCK && in xfs_bmap_is_real_extent() 151 irec->br_startblock != DELAYSTARTBLOCK && in xfs_bmap_is_real_extent() 152 !isnullstartblock(irec->br_startblock); in xfs_bmap_is_real_extent() 159 static inline bool xfs_bmap_is_written_extent(struct xfs_bmbt_irec *irec) in xfs_bmap_is_written_extent() argument 161 return xfs_bmap_is_real_extent(irec) && in xfs_bmap_is_written_extent() 162 irec->br_state != XFS_EXT_UNWRITTEN; in xfs_bmap_is_written_extent() 174 void xfs_trim_extent(struct xfs_bmbt_irec *irec, xfs_fileoff_t bno, 267 struct xfs_bmbt_irec *irec); 269 xfs_failaddr_t fa, const struct xfs_bmbt_irec *irec);
|
D | xfs_ialloc.c | 56 xfs_inobt_rec_incore_t *irec) /* btree record */ in xfs_inobt_update() argument 60 rec.inobt.ir_startino = cpu_to_be32(irec->ir_startino); in xfs_inobt_update() 62 rec.inobt.ir_u.sp.ir_holemask = cpu_to_be16(irec->ir_holemask); in xfs_inobt_update() 63 rec.inobt.ir_u.sp.ir_count = irec->ir_count; in xfs_inobt_update() 64 rec.inobt.ir_u.sp.ir_freecount = irec->ir_freecount; in xfs_inobt_update() 67 rec.inobt.ir_u.f.ir_freecount = cpu_to_be32(irec->ir_freecount); in xfs_inobt_update() 69 rec.inobt.ir_free = cpu_to_be64(irec->ir_free); in xfs_inobt_update() 78 struct xfs_inobt_rec_incore *irec) in xfs_inobt_btrec_to_irec() argument 80 irec->ir_startino = be32_to_cpu(rec->inobt.ir_startino); in xfs_inobt_btrec_to_irec() 82 irec->ir_holemask = be16_to_cpu(rec->inobt.ir_u.sp.ir_holemask); in xfs_inobt_btrec_to_irec() [all …]
|
D | xfs_iext_tree.c | 55 struct xfs_bmbt_irec *irec) in xfs_iext_set() argument 57 ASSERT((irec->br_startoff & ~XFS_IEXT_STARTOFF_MASK) == 0); in xfs_iext_set() 58 ASSERT((irec->br_blockcount & ~XFS_IEXT_LENGTH_MASK) == 0); in xfs_iext_set() 59 ASSERT((irec->br_startblock & ~XFS_IEXT_STARTBLOCK_MASK) == 0); in xfs_iext_set() 61 rec->lo = irec->br_startoff & XFS_IEXT_STARTOFF_MASK; in xfs_iext_set() 62 rec->hi = irec->br_blockcount & XFS_IEXT_LENGTH_MASK; in xfs_iext_set() 64 rec->lo |= (irec->br_startblock << 54); in xfs_iext_set() 65 rec->hi |= ((irec->br_startblock & ~xfs_mask64lo(10)) << (22 - 10)); in xfs_iext_set() 67 if (irec->br_state == XFS_EXT_UNWRITTEN) in xfs_iext_set() 73 struct xfs_bmbt_irec *irec, in xfs_iext_get() argument [all …]
|
D | xfs_refcount_btree.c | 159 const struct xfs_refcount_irec *irec = &cur->bc_rec.rc; in xfs_refcountbt_init_rec_from_cur() local 162 start = xfs_refcount_encode_startblock(irec->rc_startblock, in xfs_refcountbt_init_rec_from_cur() 163 irec->rc_domain); in xfs_refcountbt_init_rec_from_cur() 187 const struct xfs_refcount_irec *irec = &cur->bc_rec.rc; in xfs_refcountbt_key_diff() local 190 start = xfs_refcount_encode_startblock(irec->rc_startblock, in xfs_refcountbt_key_diff() 191 irec->rc_domain); in xfs_refcountbt_key_diff()
|
D | xfs_bmap_btree.c | 65 struct xfs_bmbt_irec *irec) in xfs_bmbt_disk_get_all() argument 70 irec->br_startoff = (l0 & xfs_mask64lo(64 - BMBT_EXNTFLAG_BITLEN)) >> 9; in xfs_bmbt_disk_get_all() 71 irec->br_startblock = ((l0 & xfs_mask64lo(9)) << 43) | (l1 >> 21); in xfs_bmbt_disk_get_all() 72 irec->br_blockcount = l1 & xfs_mask64lo(21); in xfs_bmbt_disk_get_all() 74 irec->br_state = XFS_EXT_UNWRITTEN; in xfs_bmbt_disk_get_all() 76 irec->br_state = XFS_EXT_NORM; in xfs_bmbt_disk_get_all()
|
D | xfs_ialloc.h | 95 struct xfs_inobt_rec_incore *irec); 97 const struct xfs_inobt_rec_incore *irec);
|
D | xfs_alloc.c | 240 struct xfs_alloc_rec_incore *irec) in xfs_alloc_btrec_to_irec() argument 242 irec->ar_startblock = be32_to_cpu(rec->alloc.ar_startblock); in xfs_alloc_btrec_to_irec() 243 irec->ar_blockcount = be32_to_cpu(rec->alloc.ar_blockcount); in xfs_alloc_btrec_to_irec() 250 const struct xfs_alloc_rec_incore *irec) in xfs_alloc_check_irec() argument 254 if (irec->ar_blockcount == 0) in xfs_alloc_check_irec() 258 if (!xfs_verify_agbext(pag, irec->ar_startblock, irec->ar_blockcount)) in xfs_alloc_check_irec() 268 const struct xfs_alloc_rec_incore *irec) in xfs_alloc_complain_bad_rec() argument 277 "start block 0x%x block count 0x%x", irec->ar_startblock, in xfs_alloc_complain_bad_rec() 278 irec->ar_blockcount); in xfs_alloc_complain_bad_rec() 292 struct xfs_alloc_rec_incore irec; in xfs_alloc_get_rec() local [all …]
|
D | xfs_bmap.c | 108 struct xfs_bmbt_irec *irec, in xfs_bmbt_lookup_eq() argument 111 cur->bc_rec.b = *irec; in xfs_bmbt_lookup_eq() 157 struct xfs_bmbt_irec *irec) in xfs_bmbt_update() argument 161 xfs_bmbt_disk_set_all(&rec.bmbt, irec); in xfs_bmbt_update() 1096 const struct xfs_bmbt_irec *irec) in xfs_bmap_complain_bad_rec() argument 1113 irec->br_startoff, irec->br_startblock, irec->br_blockcount, in xfs_bmap_complain_bad_rec() 1114 irec->br_state); in xfs_bmap_complain_bad_rec() 3731 struct xfs_bmbt_irec *irec, in xfs_trim_extent() argument 3738 if (irec->br_startoff + irec->br_blockcount <= bno || in xfs_trim_extent() 3739 irec->br_startoff >= end) { in xfs_trim_extent() [all …]
|
/fs/ext4/ |
D | fsmap.c | 193 struct ext4_fsmap irec; in ext4_getfsmap_datadev_helper() local 238 irec.fmr_device = 0; in ext4_getfsmap_datadev_helper() 239 irec.fmr_physical = fsb; in ext4_getfsmap_datadev_helper() 240 irec.fmr_length = fslen; in ext4_getfsmap_datadev_helper() 241 irec.fmr_owner = EXT4_FMR_OWN_FREE; in ext4_getfsmap_datadev_helper() 242 irec.fmr_flags = 0; in ext4_getfsmap_datadev_helper() 245 if (ext4_fsmap_next_pblk(&irec) == in ext4_getfsmap_datadev_helper() 247 info->gfi_lastfree = irec; in ext4_getfsmap_datadev_helper() 252 return ext4_getfsmap_helper(sb, info, &irec); in ext4_getfsmap_datadev_helper() 260 struct ext4_fsmap irec; in ext4_getfsmap_logdev() local [all …]
|