Lines Matching refs:frozen_bhp
155 BH *frozen_bhp;
186 frozen_bhp = SH_TAILQ_FIRST(&c_mp->free_frozen, __bh);
187 if (frozen_bhp != NULL) {
188 SH_TAILQ_REMOVE(&c_mp->free_frozen, frozen_bhp, hq, __bh);
197 frozen_bhp = (BH *)(frozen_alloc + 1);
210 if (frozen_bhp == NULL) {
282 * Set up the frozen_bhp with the freezer page number. The original
287 memcpy(frozen_bhp, bhp, SSZ(BH, align_off));
289 memcpy(frozen_bhp, bhp, SSZA(BH, buf));
291 frozen_bhp->ref = frozen_bhp->ref_sync = 0;
292 F_SET(frozen_bhp, BH_FROZEN);
293 F_CLR(frozen_bhp, BH_LOCKED);
294 frozen_bhp->priority = UINT32_MAX;
295 ((BH_FROZEN_PAGE *)frozen_bhp)->spgno = newpgno;
302 if (frozen_bhp->td_off != INVALID_ROFF &&
303 (ret = __txn_add_buffer(env, BH_OWNER(env, frozen_bhp))) != 0) {
314 SH_CHAIN_INSERT_AFTER(bhp, frozen_bhp, vc, __bh);
315 if (!SH_CHAIN_HASNEXT(frozen_bhp, vc)) {
317 bhp, frozen_bhp, hq, __bh);
334 if (frozen_bhp != NULL) {
338 frozen_bhp, hq);
385 __memp_bh_thaw(dbmp, infop, hp, frozen_bhp, alloc_bhp)
389 BH *frozen_bhp, *alloc_bhp;
411 bh_mfp = R_ADDR(dbmp->reginfo, frozen_bhp->mf_offset);
417 DB_ASSERT(env, F_ISSET(frozen_bhp, BH_FROZEN));
418 DB_ASSERT(env, !F_ISSET(frozen_bhp, BH_LOCKED));
420 BH_OBSOLETE(frozen_bhp, hp->old_reader, vlsn));
422 spgno = ((BH_FROZEN_PAGE *)frozen_bhp)->spgno;
426 memcpy(alloc_bhp, frozen_bhp, SSZ(BH, align_off));
428 memcpy(alloc_bhp, frozen_bhp, SSZA(BH, buf));
435 F_SET(frozen_bhp, BH_LOCKED);
560 * we're about to free frozen_bhp, and without it we would need to do
566 SH_CHAIN_INSERT_AFTER(frozen_bhp, alloc_bhp, vc, __bh);
569 frozen_bhp, alloc_bhp, hq, __bh);
570 SH_TAILQ_REMOVE(&hp->hash_bucket, frozen_bhp, hq, __bh);
574 if ((next_bhp = SH_CHAIN_NEXT(frozen_bhp, vc, __bh)) == NULL) {
575 if ((next_bhp = SH_CHAIN_PREV(frozen_bhp, vc, __bh)) != NULL)
576 SH_TAILQ_INSERT_BEFORE(&hp->hash_bucket, frozen_bhp,
578 SH_TAILQ_REMOVE(&hp->hash_bucket, frozen_bhp, hq, __bh);
580 SH_CHAIN_REMOVE(frozen_bhp, vc, __bh);
587 if (--frozen_bhp->ref == 0) {
590 if (alloc_bhp == NULL && frozen_bhp->td_off != INVALID_ROFF &&
592 BH_OWNER(env, frozen_bhp), MUTEX_INVALID)) != 0) {
599 * will attempt to free frozen_bhp.
602 SH_TAILQ_INSERT_TAIL(&c_mp->free_frozen, frozen_bhp, hq);
606 F_SET(frozen_bhp, BH_THAWED);
607 F_CLR(frozen_bhp, BH_LOCKED);