Lines Matching refs:bp
40 static int xfs_dir2_leafn_add(struct xfs_buf *bp, xfs_da_args_t *args,
45 static int xfs_dir2_leafn_remove(xfs_da_args_t *args, struct xfs_buf *bp,
55 #define xfs_dir3_leaf_check(dp, bp) \ argument
57 if (!xfs_dir3_leafn_check((dp), (bp))) \
64 struct xfs_buf *bp) in xfs_dir3_leafn_check() argument
66 struct xfs_dir2_leaf *leaf = bp->b_addr; in xfs_dir3_leafn_check()
72 struct xfs_dir3_leaf_hdr *leaf3 = bp->b_addr; in xfs_dir3_leafn_check()
73 if (be64_to_cpu(leaf3->info.blkno) != bp->b_bn) in xfs_dir3_leafn_check()
81 #define xfs_dir3_leaf_check(dp, bp) argument
86 struct xfs_buf *bp) in xfs_dir3_free_verify() argument
88 struct xfs_mount *mp = bp->b_target->bt_mount; in xfs_dir3_free_verify()
89 struct xfs_dir2_free_hdr *hdr = bp->b_addr; in xfs_dir3_free_verify()
92 struct xfs_dir3_blk_hdr *hdr3 = bp->b_addr; in xfs_dir3_free_verify()
98 if (be64_to_cpu(hdr3->blkno) != bp->b_bn) in xfs_dir3_free_verify()
112 struct xfs_buf *bp) in xfs_dir3_free_read_verify() argument
114 struct xfs_mount *mp = bp->b_target->bt_mount; in xfs_dir3_free_read_verify()
117 !xfs_buf_verify_cksum(bp, XFS_DIR3_FREE_CRC_OFF)) in xfs_dir3_free_read_verify()
118 xfs_buf_ioerror(bp, -EFSBADCRC); in xfs_dir3_free_read_verify()
119 else if (!xfs_dir3_free_verify(bp)) in xfs_dir3_free_read_verify()
120 xfs_buf_ioerror(bp, -EFSCORRUPTED); in xfs_dir3_free_read_verify()
122 if (bp->b_error) in xfs_dir3_free_read_verify()
123 xfs_verifier_error(bp); in xfs_dir3_free_read_verify()
128 struct xfs_buf *bp) in xfs_dir3_free_write_verify() argument
130 struct xfs_mount *mp = bp->b_target->bt_mount; in xfs_dir3_free_write_verify()
131 struct xfs_buf_log_item *bip = bp->b_fspriv; in xfs_dir3_free_write_verify()
132 struct xfs_dir3_blk_hdr *hdr3 = bp->b_addr; in xfs_dir3_free_write_verify()
134 if (!xfs_dir3_free_verify(bp)) { in xfs_dir3_free_write_verify()
135 xfs_buf_ioerror(bp, -EFSCORRUPTED); in xfs_dir3_free_write_verify()
136 xfs_verifier_error(bp); in xfs_dir3_free_write_verify()
146 xfs_buf_update_cksum(bp, XFS_DIR3_FREE_CRC_OFF); in xfs_dir3_free_write_verify()
203 struct xfs_buf *bp; in xfs_dir3_free_get_buf() local
208 -1, &bp, XFS_DATA_FORK); in xfs_dir3_free_get_buf()
212 xfs_trans_buf_set_type(tp, bp, XFS_BLFT_DIR_FREE_BUF); in xfs_dir3_free_get_buf()
213 bp->b_ops = &xfs_dir3_free_buf_ops; in xfs_dir3_free_get_buf()
219 memset(bp->b_addr, 0, sizeof(struct xfs_dir3_free_hdr)); in xfs_dir3_free_get_buf()
223 struct xfs_dir3_free_hdr *hdr3 = bp->b_addr; in xfs_dir3_free_get_buf()
227 hdr3->hdr.blkno = cpu_to_be64(bp->b_bn); in xfs_dir3_free_get_buf()
232 dp->d_ops->free_hdr_to_disk(bp->b_addr, &hdr); in xfs_dir3_free_get_buf()
233 *bpp = bp; in xfs_dir3_free_get_buf()
243 struct xfs_buf *bp, in xfs_dir2_free_log_bests() argument
250 free = bp->b_addr; in xfs_dir2_free_log_bests()
254 xfs_trans_log_buf(args->trans, bp, in xfs_dir2_free_log_bests()
266 struct xfs_buf *bp) in xfs_dir2_free_log_header() argument
271 free = bp->b_addr; in xfs_dir2_free_log_header()
275 xfs_trans_log_buf(args->trans, bp, 0, in xfs_dir2_free_log_header()
374 struct xfs_buf *bp, /* leaf buffer */ in xfs_dir2_leafn_add() argument
392 leaf = bp->b_addr; in xfs_dir2_leafn_add()
449 xfs_dir3_leaf_log_header(args, bp); in xfs_dir2_leafn_add()
450 xfs_dir3_leaf_log_ents(args, bp, lfloglow, lfloghigh); in xfs_dir2_leafn_add()
451 xfs_dir3_leaf_check(dp, bp); in xfs_dir2_leafn_add()
459 struct xfs_buf *bp, in xfs_dir2_free_hdr_check() argument
464 dp->d_ops->free_hdr_from_disk(&hdr, bp->b_addr); in xfs_dir2_free_hdr_check()
472 #define xfs_dir2_free_hdr_check(dp, bp, db) argument
482 struct xfs_buf *bp, /* leaf buffer */ in xfs_dir2_leafn_lasthash() argument
485 struct xfs_dir2_leaf *leaf = bp->b_addr; in xfs_dir2_leafn_lasthash()
509 struct xfs_buf *bp, /* leaf buffer */ in xfs_dir2_leafn_lookup_for_addname() argument
535 leaf = bp->b_addr; in xfs_dir2_leafn_lookup_for_addname()
539 xfs_dir3_leaf_check(dp, bp); in xfs_dir2_leafn_lookup_for_addname()
545 index = xfs_dir2_leaf_search_hash(args, bp); in xfs_dir2_leafn_lookup_for_addname()
551 curbp = state->extrablk.bp; in xfs_dir2_leafn_lookup_for_addname()
638 state->extrablk.bp = curbp; in xfs_dir2_leafn_lookup_for_addname()
664 struct xfs_buf *bp, /* leaf buffer */ in xfs_dir2_leafn_lookup_for_entry() argument
687 leaf = bp->b_addr; in xfs_dir2_leafn_lookup_for_entry()
691 xfs_dir3_leaf_check(dp, bp); in xfs_dir2_leafn_lookup_for_entry()
697 index = xfs_dir2_leaf_search_hash(args, bp); in xfs_dir2_leafn_lookup_for_entry()
702 curbp = state->extrablk.bp; in xfs_dir2_leafn_lookup_for_entry()
742 curbp = state->extrablk.bp; in xfs_dir2_leafn_lookup_for_entry()
770 xfs_trans_brelse(tp, state->extrablk.bp); in xfs_dir2_leafn_lookup_for_entry()
776 state->extrablk.bp = curbp; in xfs_dir2_leafn_lookup_for_entry()
792 state->extrablk.bp = curbp; in xfs_dir2_leafn_lookup_for_entry()
800 if (state->extrablk.bp != curbp) in xfs_dir2_leafn_lookup_for_entry()
817 struct xfs_buf *bp, /* leaf buffer */ in xfs_dir2_leafn_lookup_int() argument
823 return xfs_dir2_leafn_lookup_for_addname(bp, args, indexp, in xfs_dir2_leafn_lookup_int()
825 return xfs_dir2_leafn_lookup_for_entry(bp, args, indexp, state); in xfs_dir2_leafn_lookup_int()
970 if ((swap = xfs_dir2_leafn_order(dp, blk1->bp, blk2->bp))) { in xfs_dir2_leafn_rebalance()
977 leaf1 = blk1->bp->b_addr; in xfs_dir2_leafn_rebalance()
978 leaf2 = blk2->bp->b_addr; in xfs_dir2_leafn_rebalance()
1016 xfs_dir3_leafn_moveents(args, blk1->bp, &hdr1, ents1, in xfs_dir2_leafn_rebalance()
1017 hdr1.count - count, blk2->bp, in xfs_dir2_leafn_rebalance()
1020 xfs_dir3_leafn_moveents(args, blk2->bp, &hdr2, ents2, 0, in xfs_dir2_leafn_rebalance()
1021 blk1->bp, &hdr1, ents1, in xfs_dir2_leafn_rebalance()
1030 xfs_dir3_leaf_log_header(args, blk1->bp); in xfs_dir2_leafn_rebalance()
1031 xfs_dir3_leaf_log_header(args, blk2->bp); in xfs_dir2_leafn_rebalance()
1033 xfs_dir3_leaf_check(dp, blk1->bp); in xfs_dir2_leafn_rebalance()
1034 xfs_dir3_leaf_check(dp, blk2->bp); in xfs_dir2_leafn_rebalance()
1151 struct xfs_buf *bp, /* leaf buffer */ in xfs_dir2_leafn_remove() argument
1176 leaf = bp->b_addr; in xfs_dir2_leafn_remove()
1199 xfs_dir3_leaf_log_header(args, bp); in xfs_dir2_leafn_remove()
1202 xfs_dir3_leaf_log_ents(args, bp, index, index); in xfs_dir2_leafn_remove()
1208 dbp = dblk->bp; in xfs_dir2_leafn_remove()
1272 dblk->bp = NULL; in xfs_dir2_leafn_remove()
1293 xfs_dir3_leaf_check(dp, bp); in xfs_dir2_leafn_remove()
1332 &newblk->bp, XFS_DIR2_LEAFN_MAGIC); in xfs_dir2_leafn_split()
1351 error = xfs_dir2_leafn_add(oldblk->bp, args, oldblk->index); in xfs_dir2_leafn_split()
1353 error = xfs_dir2_leafn_add(newblk->bp, args, newblk->index); in xfs_dir2_leafn_split()
1357 oldblk->hashval = xfs_dir2_leafn_lasthash(dp, oldblk->bp, NULL); in xfs_dir2_leafn_split()
1358 newblk->hashval = xfs_dir2_leafn_lasthash(dp, newblk->bp, NULL); in xfs_dir2_leafn_split()
1359 xfs_dir3_leaf_check(dp, oldblk->bp); in xfs_dir2_leafn_split()
1360 xfs_dir3_leaf_check(dp, newblk->bp); in xfs_dir2_leafn_split()
1380 struct xfs_buf *bp; /* leaf buffer */ in xfs_dir2_leafn_toosmall() local
1398 leaf = blk->bp->b_addr; in xfs_dir2_leafn_toosmall()
1401 xfs_dir3_leaf_check(dp, blk->bp); in xfs_dir2_leafn_toosmall()
1440 for (i = 0, bp = NULL; i < 2; forward = !forward, i++) { in xfs_dir2_leafn_toosmall()
1450 blkno, -1, &bp); in xfs_dir2_leafn_toosmall()
1461 leaf = bp->b_addr; in xfs_dir2_leafn_toosmall()
1472 xfs_trans_brelse(state->args->trans, bp); in xfs_dir2_leafn_toosmall()
1522 drop_leaf = drop_blk->bp->b_addr; in xfs_dir2_leafn_unbalance()
1523 save_leaf = save_blk->bp->b_addr; in xfs_dir2_leafn_unbalance()
1535 xfs_dir3_leaf_compact(args, &drophdr, drop_blk->bp); in xfs_dir2_leafn_unbalance()
1537 xfs_dir3_leaf_compact(args, &savehdr, save_blk->bp); in xfs_dir2_leafn_unbalance()
1543 if (xfs_dir2_leafn_order(dp, save_blk->bp, drop_blk->bp)) in xfs_dir2_leafn_unbalance()
1544 xfs_dir3_leafn_moveents(args, drop_blk->bp, &drophdr, dents, 0, in xfs_dir2_leafn_unbalance()
1545 save_blk->bp, &savehdr, sents, 0, in xfs_dir2_leafn_unbalance()
1548 xfs_dir3_leafn_moveents(args, drop_blk->bp, &drophdr, dents, 0, in xfs_dir2_leafn_unbalance()
1549 save_blk->bp, &savehdr, sents, in xfs_dir2_leafn_unbalance()
1556 xfs_dir3_leaf_log_header(args, save_blk->bp); in xfs_dir2_leafn_unbalance()
1557 xfs_dir3_leaf_log_header(args, drop_blk->bp); in xfs_dir2_leafn_unbalance()
1559 xfs_dir3_leaf_check(dp, save_blk->bp); in xfs_dir2_leafn_unbalance()
1560 xfs_dir3_leaf_check(dp, drop_blk->bp); in xfs_dir2_leafn_unbalance()
1607 rval = xfs_dir2_leafn_add(blk->bp, args, blk->index); in xfs_dir2_node_addname()
1676 fbp = fblk->bp; in xfs_dir2_node_addname_int()
1792 if (fblk && fblk->bp) in xfs_dir2_node_addname_int()
1793 fblk->bp = NULL; in xfs_dir2_node_addname_int()
1822 if (fblk && fblk->bp) in xfs_dir2_node_addname_int()
1823 fblk->bp = NULL; in xfs_dir2_node_addname_int()
2038 ((char *)state->extrablk.bp->b_addr + in xfs_dir2_node_lookup()
2046 xfs_trans_brelse(args->trans, state->path.blk[i].bp); in xfs_dir2_node_lookup()
2047 state->path.blk[i].bp = NULL; in xfs_dir2_node_lookup()
2052 if (state->extravalid && state->extrablk.bp) { in xfs_dir2_node_lookup()
2053 xfs_trans_brelse(args->trans, state->extrablk.bp); in xfs_dir2_node_lookup()
2054 state->extrablk.bp = NULL; in xfs_dir2_node_lookup()
2099 error = xfs_dir2_leafn_remove(args, blk->bp, blk->index, in xfs_dir2_node_removename()
2175 leaf = blk->bp->b_addr; in xfs_dir2_node_replace()
2182 hdr = state->extrablk.bp->b_addr; in xfs_dir2_node_replace()
2195 xfs_dir2_data_log_entry(args, state->extrablk.bp, dep); in xfs_dir2_node_replace()
2202 xfs_trans_brelse(args->trans, state->extrablk.bp); in xfs_dir2_node_replace()
2203 state->extrablk.bp = NULL; in xfs_dir2_node_replace()
2209 xfs_trans_brelse(args->trans, state->path.blk[i].bp); in xfs_dir2_node_replace()
2210 state->path.blk[i].bp = NULL; in xfs_dir2_node_replace()
2226 struct xfs_buf *bp; /* freespace buffer */ in xfs_dir2_node_trim_free() local
2238 error = xfs_dir2_free_try_read(tp, dp, fo, &bp); in xfs_dir2_node_trim_free()
2245 if (!bp) in xfs_dir2_node_trim_free()
2247 free = bp->b_addr; in xfs_dir2_node_trim_free()
2254 xfs_trans_brelse(tp, bp); in xfs_dir2_node_trim_free()
2262 xfs_dir2_da_to_db(args->geo, (xfs_dablk_t)fo), bp); in xfs_dir2_node_trim_free()
2270 xfs_trans_brelse(tp, bp); in xfs_dir2_node_trim_free()