Lines Matching refs:bp_head
2412 buf_t bp_head;
2423 bp_head = (buf_t)bp->b_orig;
2425 if (bp_head->b_whichq != -1)
2426 panic("buf_brelse_shadow: bp_head on freelist %d\n", bp_head->b_whichq);
2439 KERNEL_DEBUG(0xbbbbc008 | DBG_FUNC_START, bp, bp_head, bp_head->b_shadow_ref, 0, 0);
2441 bp_head->b_shadow_ref--;
2443 for (bp_temp = bp_head; bp_temp && bp != bp_temp->b_shadow; bp_temp = bp_temp->b_shadow);
2446 panic("buf_brelse_shadow: bp not on list %p", bp_head);
2457 if ((bp_data = bp_head->b_shadow) == NULL)
2465 if (bp_head->b_shadow_ref == 0 && bp_head->b_shadow)
2467 if (bp_head->b_shadow_ref && bp_head->b_shadow == 0)
2470 if (bp_head->b_shadow_ref == 0) {
2471 if (!ISSET(bp_head->b_lflags, BL_BUSY)) {
2473 CLR(bp_head->b_flags, B_AGE);
2474 bp_head->b_timestamp = buf_timestamp();
2476 if (ISSET(bp_head->b_flags, B_LOCKED)) {
2477 bp_head->b_whichq = BQ_LOCKED;
2478 binstailfree(bp_head, &bufqueues[BQ_LOCKED], BQ_LOCKED);
2480 bp_head->b_whichq = BQ_META;
2481 binstailfree(bp_head, &bufqueues[BQ_META], BQ_META);
2483 } else if (ISSET(bp_head->b_lflags, BL_WAITSHADOW)) {
2484 CLR(bp_head->b_lflags, BL_WAITSHADOW);
2486 bp_return = bp_head;
2488 if (ISSET(bp_head->b_lflags, BL_WANTED_REF)) {
2489 CLR(bp_head->b_lflags, BL_WANTED_REF);
2496 wakeup(bp_head);