• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.5.8/xnu-1228.15.4/bsd/hfs/

Lines Matching refs:bp

54 static int btree_journal_modify_block_end(struct hfsmount *hfsmp, struct buf *bp);
78 struct buf *bp = NULL;
95 bp = buf_getblk(vp, (daddr64_t)blockNum, block->blockSize, 0, 0, BLK_META);
96 if (bp &&
98 buf_setblkno(bp, blkno);
101 retval = buf_meta_bread(vp, (daddr64_t)blockNum, block->blockSize, NOCRED, &bp);
103 if (bp == NULL)
107 block->blockHeader = bp;
108 block->buffer = (char *)buf_dataptr(bp);
109 block->blockNum = buf_lblkno(bp);
110 block->blockReadFromDisk = (buf_fromcache(bp) == 0); /* not found in cache ==> came from disk */
119 (((BTHeaderRec *)((char *)block->buffer + 14))->nodeSize != buf_count(bp)) &&
120 (SWAP_BE16 (((BTHeaderRec *)((char *)block->buffer + 14))->nodeSize) != buf_count(bp))) {
153 buf_markinvalid(bp);
158 if (bp)
159 buf_brelse(bp);
172 struct buf *bp = NULL;
178 bp = (struct buf *) blockPtr->blockHeader;
179 if (bp == NULL) {
180 panic("ModifyBlockStart: null bp for blockdescptr %p?!?\n", blockPtr);
184 journal_modify_block_start(hfsmp->jnl, bp);
189 btree_swap_node(struct buf *bp, __unused void *arg)
193 struct vnode *vp = buf_vnode(bp);
197 block.blockHeader = bp;
198 block.buffer = (char *)buf_dataptr(bp);
199 block.blockNum = buf_lblkno(bp);
201 block.blockReadFromDisk = (buf_fromcache(bp) == 0);
202 block.blockSize = buf_count(bp);
215 btree_journal_modify_block_end(struct hfsmount *hfsmp, struct buf *bp)
217 return journal_modify_block_end(hfsmp->jnl, bp, btree_swap_node, hfsmp);
226 struct buf *bp = NULL;
228 bp = (struct buf *) blockPtr->blockHeader;
230 if (bp == NULL) {
236 buf_markinvalid(bp);
238 if (hfsmp->jnl && (buf_flags(bp) & B_LOCKED)) {
239 journal_kill_block(hfsmp->jnl, bp);
241 buf_brelse(bp); /* note: B-tree code will clear blockPtr->blockHeader and blockPtr->buffer */
247 panic("hfs: releaseblock: modified is 0 but forcewrite set! bp %p\n", bp);
250 retval = btree_journal_modify_block_end(hfsmp, bp);
253 retval = VNOP_BWRITE(bp);
273 buf_setflags(bp, B_LOCKED);
283 panic("hfs: releaseblock: modified is 0 but markdirty set! bp %p\n", bp);
285 retval = btree_journal_modify_block_end(hfsmp, bp);
287 } else if (bdwrite_internal(bp, 1) != 0) {
292 buf_clearflags(bp, B_LOCKED);
293 buf_bawrite(bp);
304 // journal_modify_block_abort(hfsmp->jnl, bp);
305 //panic("hfs: releaseblock called for 0x%x but mod_block_start previously called.\n", bp);
306 btree_journal_modify_block_end(hfsmp, bp);
309 buf_brelse(bp); /* note: B-tree code will clear blockPtr->blockHeader and blockPtr->buffer */
522 struct buf *bp = NULL;
530 bp = buf_getblk(vp, blk, blksize, 0, 0, BLK_META);
531 if (bp == NULL)
538 //journal_modify_block_start(hfsmp->jnl, bp);
540 bzero((char *)buf_dataptr(bp), blksize);
542 buf_markaged(bp);
548 //journal_modify_block_end(hfsmp->jnl, bp);
553 VNOP_BWRITE(bp);
555 buf_bawrite(bp);
559 VNOP_BWRITE(bp);
561 buf_bawrite(bp);
589 struct buf *bp = NULL;
682 bp = buf_getblk(vp, 0, nodesize, 0, 0, BLK_META);
683 if (bp == NULL) {
688 buffer = (void *)buf_dataptr(bp);
690 blkdesc.blockHeader = (void *)bp;
696 if (buf_size(bp) != nodesize)
697 panic("hfs_create_attr_btree: bad buffer size (%d)\n", buf_size(bp));
733 result = btree_journal_modify_block_end(hfsmp, bp);
735 result = VNOP_BWRITE(bp);