Lines Matching refs:bp

28 static int xfs_dir2_leafn_add(struct xfs_buf *bp, xfs_da_args_t *args,
33 static int xfs_dir2_leafn_remove(xfs_da_args_t *args, struct xfs_buf *bp,
63 struct xfs_buf *bp) in xfs_dir3_leafn_check() argument
65 struct xfs_dir2_leaf *leaf = bp->b_addr; in xfs_dir3_leafn_check()
71 struct xfs_dir3_leaf_hdr *leaf3 = bp->b_addr; in xfs_dir3_leafn_check()
72 if (be64_to_cpu(leaf3->info.blkno) != xfs_buf_daddr(bp)) in xfs_dir3_leafn_check()
83 struct xfs_buf *bp) in xfs_dir3_leaf_check() argument
87 fa = xfs_dir3_leafn_check(dp, bp); in xfs_dir3_leaf_check()
91 bp->b_addr, BBTOB(bp->b_length), __FILE__, __LINE__, in xfs_dir3_leaf_check()
96 #define xfs_dir3_leaf_check(dp, bp) argument
101 struct xfs_buf *bp) in xfs_dir3_free_verify() argument
103 struct xfs_mount *mp = bp->b_mount; in xfs_dir3_free_verify()
104 struct xfs_dir2_free_hdr *hdr = bp->b_addr; in xfs_dir3_free_verify()
106 if (!xfs_verify_magic(bp, hdr->magic)) in xfs_dir3_free_verify()
110 struct xfs_dir3_blk_hdr *hdr3 = bp->b_addr; in xfs_dir3_free_verify()
114 if (be64_to_cpu(hdr3->blkno) != xfs_buf_daddr(bp)) in xfs_dir3_free_verify()
127 struct xfs_buf *bp) in xfs_dir3_free_read_verify() argument
129 struct xfs_mount *mp = bp->b_mount; in xfs_dir3_free_read_verify()
133 !xfs_buf_verify_cksum(bp, XFS_DIR3_FREE_CRC_OFF)) in xfs_dir3_free_read_verify()
134 xfs_verifier_error(bp, -EFSBADCRC, __this_address); in xfs_dir3_free_read_verify()
136 fa = xfs_dir3_free_verify(bp); in xfs_dir3_free_read_verify()
138 xfs_verifier_error(bp, -EFSCORRUPTED, fa); in xfs_dir3_free_read_verify()
144 struct xfs_buf *bp) in xfs_dir3_free_write_verify() argument
146 struct xfs_mount *mp = bp->b_mount; in xfs_dir3_free_write_verify()
147 struct xfs_buf_log_item *bip = bp->b_log_item; in xfs_dir3_free_write_verify()
148 struct xfs_dir3_blk_hdr *hdr3 = bp->b_addr; in xfs_dir3_free_write_verify()
151 fa = xfs_dir3_free_verify(bp); in xfs_dir3_free_write_verify()
153 xfs_verifier_error(bp, -EFSCORRUPTED, fa); in xfs_dir3_free_write_verify()
163 xfs_buf_update_cksum(bp, XFS_DIR3_FREE_CRC_OFF); in xfs_dir3_free_write_verify()
178 struct xfs_buf *bp, in xfs_dir3_free_header_check() argument
182 struct xfs_mount *mp = bp->b_mount; in xfs_dir3_free_header_check()
190 struct xfs_dir3_free_hdr *hdr3 = bp->b_addr; in xfs_dir3_free_header_check()
201 struct xfs_dir2_free_hdr *hdr = bp->b_addr; in xfs_dir3_free_header_check()
331 struct xfs_buf *bp; in xfs_dir3_free_get_buf() local
336 &bp, XFS_DATA_FORK); in xfs_dir3_free_get_buf()
340 xfs_trans_buf_set_type(tp, bp, XFS_BLFT_DIR_FREE_BUF); in xfs_dir3_free_get_buf()
341 bp->b_ops = &xfs_dir3_free_buf_ops; in xfs_dir3_free_get_buf()
347 memset(bp->b_addr, 0, sizeof(struct xfs_dir3_free_hdr)); in xfs_dir3_free_get_buf()
351 struct xfs_dir3_free_hdr *hdr3 = bp->b_addr; in xfs_dir3_free_get_buf()
355 hdr3->hdr.blkno = cpu_to_be64(xfs_buf_daddr(bp)); in xfs_dir3_free_get_buf()
360 xfs_dir2_free_hdr_to_disk(mp, bp->b_addr, &hdr); in xfs_dir3_free_get_buf()
361 *bpp = bp; in xfs_dir3_free_get_buf()
372 struct xfs_buf *bp, in xfs_dir2_free_log_bests() argument
376 struct xfs_dir2_free *free = bp->b_addr; in xfs_dir2_free_log_bests()
380 xfs_trans_log_buf(args->trans, bp, in xfs_dir2_free_log_bests()
392 struct xfs_buf *bp) in xfs_dir2_free_log_header() argument
397 free = bp->b_addr; in xfs_dir2_free_log_header()
401 xfs_trans_log_buf(args->trans, bp, 0, in xfs_dir2_free_log_header()
501 struct xfs_buf *bp, /* leaf buffer */ in xfs_dir2_leafn_add() argument
507 struct xfs_dir2_leaf *leaf = bp->b_addr; in xfs_dir2_leafn_add()
526 xfs_buf_mark_corrupt(bp); in xfs_dir2_leafn_add()
577 xfs_dir3_leaf_log_header(args, bp); in xfs_dir2_leafn_add()
578 xfs_dir3_leaf_log_ents(args, &leafhdr, bp, lfloglow, lfloghigh); in xfs_dir2_leafn_add()
579 xfs_dir3_leaf_check(dp, bp); in xfs_dir2_leafn_add()
587 struct xfs_buf *bp, in xfs_dir2_free_hdr_check() argument
592 xfs_dir2_free_hdr_from_disk(dp->i_mount, &hdr, bp->b_addr); in xfs_dir2_free_hdr_check()
599 #define xfs_dir2_free_hdr_check(dp, bp, db) argument
609 struct xfs_buf *bp, /* leaf buffer */ in xfs_dir2_leaf_lasthash() argument
614 xfs_dir2_leaf_hdr_from_disk(dp->i_mount, &leafhdr, bp->b_addr); in xfs_dir2_leaf_lasthash()
634 struct xfs_buf *bp, /* leaf buffer */ in xfs_dir2_leafn_lookup_for_addname() argument
659 leaf = bp->b_addr; in xfs_dir2_leafn_lookup_for_addname()
662 xfs_dir3_leaf_check(dp, bp); in xfs_dir2_leafn_lookup_for_addname()
668 index = xfs_dir2_leaf_search_hash(args, bp); in xfs_dir2_leafn_lookup_for_addname()
674 curbp = state->extrablk.bp; in xfs_dir2_leafn_lookup_for_addname()
762 state->extrablk.bp = curbp; in xfs_dir2_leafn_lookup_for_addname()
788 struct xfs_buf *bp, /* leaf buffer */ in xfs_dir2_leafn_lookup_for_entry() argument
810 leaf = bp->b_addr; in xfs_dir2_leafn_lookup_for_entry()
813 xfs_dir3_leaf_check(dp, bp); in xfs_dir2_leafn_lookup_for_entry()
815 xfs_buf_mark_corrupt(bp); in xfs_dir2_leafn_lookup_for_entry()
823 index = xfs_dir2_leaf_search_hash(args, bp); in xfs_dir2_leafn_lookup_for_entry()
828 curbp = state->extrablk.bp; in xfs_dir2_leafn_lookup_for_entry()
868 curbp = state->extrablk.bp; in xfs_dir2_leafn_lookup_for_entry()
896 xfs_trans_brelse(tp, state->extrablk.bp); in xfs_dir2_leafn_lookup_for_entry()
902 state->extrablk.bp = curbp; in xfs_dir2_leafn_lookup_for_entry()
918 state->extrablk.bp = curbp; in xfs_dir2_leafn_lookup_for_entry()
926 if (state->extrablk.bp != curbp) in xfs_dir2_leafn_lookup_for_entry()
943 struct xfs_buf *bp, /* leaf buffer */ in xfs_dir2_leafn_lookup_int() argument
949 return xfs_dir2_leafn_lookup_for_addname(bp, args, indexp, in xfs_dir2_leafn_lookup_int()
951 return xfs_dir2_leafn_lookup_for_entry(bp, args, indexp, state); in xfs_dir2_leafn_lookup_int()
1097 swap_blocks = xfs_dir2_leafn_order(dp, blk1->bp, blk2->bp); in xfs_dir2_leafn_rebalance()
1101 leaf1 = blk1->bp->b_addr; in xfs_dir2_leafn_rebalance()
1102 leaf2 = blk2->bp->b_addr; in xfs_dir2_leafn_rebalance()
1140 xfs_dir3_leafn_moveents(args, blk1->bp, &hdr1, ents1, in xfs_dir2_leafn_rebalance()
1141 hdr1.count - count, blk2->bp, in xfs_dir2_leafn_rebalance()
1144 xfs_dir3_leafn_moveents(args, blk2->bp, &hdr2, ents2, 0, in xfs_dir2_leafn_rebalance()
1145 blk1->bp, &hdr1, ents1, in xfs_dir2_leafn_rebalance()
1154 xfs_dir3_leaf_log_header(args, blk1->bp); in xfs_dir2_leafn_rebalance()
1155 xfs_dir3_leaf_log_header(args, blk2->bp); in xfs_dir2_leafn_rebalance()
1157 xfs_dir3_leaf_check(dp, blk1->bp); in xfs_dir2_leafn_rebalance()
1158 xfs_dir3_leaf_check(dp, blk2->bp); in xfs_dir2_leafn_rebalance()
1273 struct xfs_buf *bp, /* leaf buffer */ in xfs_dir2_leafn_remove() argument
1298 leaf = bp->b_addr; in xfs_dir2_leafn_remove()
1320 xfs_dir3_leaf_log_header(args, bp); in xfs_dir2_leafn_remove()
1323 xfs_dir3_leaf_log_ents(args, &leafhdr, bp, index, index); in xfs_dir2_leafn_remove()
1329 dbp = dblk->bp; in xfs_dir2_leafn_remove()
1392 dblk->bp = NULL; in xfs_dir2_leafn_remove()
1413 xfs_dir3_leaf_check(dp, bp); in xfs_dir2_leafn_remove()
1452 &newblk->bp, XFS_DIR2_LEAFN_MAGIC); in xfs_dir2_leafn_split()
1471 error = xfs_dir2_leafn_add(oldblk->bp, args, oldblk->index); in xfs_dir2_leafn_split()
1473 error = xfs_dir2_leafn_add(newblk->bp, args, newblk->index); in xfs_dir2_leafn_split()
1477 oldblk->hashval = xfs_dir2_leaf_lasthash(dp, oldblk->bp, NULL); in xfs_dir2_leafn_split()
1478 newblk->hashval = xfs_dir2_leaf_lasthash(dp, newblk->bp, NULL); in xfs_dir2_leafn_split()
1479 xfs_dir3_leaf_check(dp, oldblk->bp); in xfs_dir2_leafn_split()
1480 xfs_dir3_leaf_check(dp, newblk->bp); in xfs_dir2_leafn_split()
1500 struct xfs_buf *bp; /* leaf buffer */ in xfs_dir2_leafn_toosmall() local
1518 leaf = blk->bp->b_addr; in xfs_dir2_leafn_toosmall()
1521 xfs_dir3_leaf_check(dp, blk->bp); in xfs_dir2_leafn_toosmall()
1560 for (i = 0, bp = NULL; i < 2; forward = !forward, i++) { in xfs_dir2_leafn_toosmall()
1570 state->args->owner, blkno, &bp); in xfs_dir2_leafn_toosmall()
1581 leaf = bp->b_addr; in xfs_dir2_leafn_toosmall()
1592 xfs_trans_brelse(state->args->trans, bp); in xfs_dir2_leafn_toosmall()
1642 drop_leaf = drop_blk->bp->b_addr; in xfs_dir2_leafn_unbalance()
1643 save_leaf = save_blk->bp->b_addr; in xfs_dir2_leafn_unbalance()
1655 xfs_dir3_leaf_compact(args, &drophdr, drop_blk->bp); in xfs_dir2_leafn_unbalance()
1657 xfs_dir3_leaf_compact(args, &savehdr, save_blk->bp); in xfs_dir2_leafn_unbalance()
1663 if (xfs_dir2_leafn_order(dp, save_blk->bp, drop_blk->bp)) in xfs_dir2_leafn_unbalance()
1664 xfs_dir3_leafn_moveents(args, drop_blk->bp, &drophdr, dents, 0, in xfs_dir2_leafn_unbalance()
1665 save_blk->bp, &savehdr, sents, 0, in xfs_dir2_leafn_unbalance()
1668 xfs_dir3_leafn_moveents(args, drop_blk->bp, &drophdr, dents, 0, in xfs_dir2_leafn_unbalance()
1669 save_blk->bp, &savehdr, sents, in xfs_dir2_leafn_unbalance()
1676 xfs_dir3_leaf_log_header(args, save_blk->bp); in xfs_dir2_leafn_unbalance()
1677 xfs_dir3_leaf_log_header(args, drop_blk->bp); in xfs_dir2_leafn_unbalance()
1679 xfs_dir3_leaf_check(dp, save_blk->bp); in xfs_dir2_leafn_unbalance()
1680 xfs_dir3_leaf_check(dp, drop_blk->bp); in xfs_dir2_leafn_unbalance()
1828 fbp = fblk->bp; in xfs_dir2_node_find_freeblk()
1847 fblk->bp = NULL; in xfs_dir2_node_find_freeblk()
2054 rval = xfs_dir2_leafn_add(blk->bp, args, blk->index); in xfs_dir2_node_addname()
2111 ((char *)state->extrablk.bp->b_addr + in xfs_dir2_node_lookup()
2119 xfs_trans_brelse(args->trans, state->path.blk[i].bp); in xfs_dir2_node_lookup()
2120 state->path.blk[i].bp = NULL; in xfs_dir2_node_lookup()
2125 if (state->extravalid && state->extrablk.bp) { in xfs_dir2_node_lookup()
2126 xfs_trans_brelse(args->trans, state->extrablk.bp); in xfs_dir2_node_lookup()
2127 state->extrablk.bp = NULL; in xfs_dir2_node_lookup()
2170 error = xfs_dir2_leafn_remove(args, blk->bp, blk->index, in xfs_dir2_node_removename()
2246 blk->bp->b_addr); in xfs_dir2_node_replace()
2250 hdr = state->extrablk.bp->b_addr; in xfs_dir2_node_replace()
2263 xfs_dir2_data_log_entry(args, state->extrablk.bp, dep); in xfs_dir2_node_replace()
2270 xfs_trans_brelse(args->trans, state->extrablk.bp); in xfs_dir2_node_replace()
2271 state->extrablk.bp = NULL; in xfs_dir2_node_replace()
2277 xfs_trans_brelse(args->trans, state->path.blk[i].bp); in xfs_dir2_node_replace()
2278 state->path.blk[i].bp = NULL; in xfs_dir2_node_replace()
2294 struct xfs_buf *bp; /* freespace buffer */ in xfs_dir2_node_trim_free() local
2309 error = xfs_dir2_free_try_read(tp, dp, args->owner, fo, &bp); in xfs_dir2_node_trim_free()
2316 if (!bp) in xfs_dir2_node_trim_free()
2318 free = bp->b_addr; in xfs_dir2_node_trim_free()
2325 xfs_trans_brelse(tp, bp); in xfs_dir2_node_trim_free()
2332 xfs_dir2_da_to_db(args->geo, (xfs_dablk_t)fo), bp); in xfs_dir2_node_trim_free()
2340 xfs_trans_brelse(tp, bp); in xfs_dir2_node_trim_free()