• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/

Lines Matching defs:dpa

2616 dbuf_issue_final_prefetch(dbuf_prefetch_arg_t *dpa, blkptr_t *bp)
2622 dpa->dpa_aflags | ARC_FLAG_NOWAIT | ARC_FLAG_PREFETCH;
2624 ASSERT3U(dpa->dpa_curlevel, ==, BP_GET_LEVEL(bp));
2625 ASSERT3U(dpa->dpa_curlevel, ==, dpa->dpa_zb.zb_level);
2626 ASSERT(dpa->dpa_zio != NULL);
2627 (void) arc_read(dpa->dpa_zio, dpa->dpa_spa, bp, NULL, NULL,
2628 dpa->dpa_prio, ZIO_FLAG_CANFAIL | ZIO_FLAG_SPECULATIVE,
2629 &aflags, &dpa->dpa_zb);
2641 dbuf_prefetch_arg_t *dpa = private;
2643 ASSERT3S(dpa->dpa_zb.zb_level, <, dpa->dpa_curlevel);
2644 ASSERT3S(dpa->dpa_curlevel, >, 0);
2648 kmem_free(dpa, sizeof (*dpa));
2665 ASSERT3S(BP_GET_LEVEL(zio->io_bp), ==, dpa->dpa_curlevel);
2671 ASSERT3P(zio->io_spa, ==, dpa->dpa_spa);
2673 dpa->dpa_dnode = NULL;
2674 } else if (dpa->dpa_dnode != NULL) {
2675 uint64_t curblkid = dpa->dpa_zb.zb_blkid >>
2676 (dpa->dpa_epbs * (dpa->dpa_curlevel -
2677 dpa->dpa_zb.zb_level));
2678 dmu_buf_impl_t *db = dbuf_hold_level(dpa->dpa_dnode,
2679 dpa->dpa_curlevel, curblkid, FTAG);
2686 kmem_free(dpa, sizeof(*dpa));
2690 dpa->dpa_curlevel--;
2692 uint64_t nextblkid = dpa->dpa_zb.zb_blkid >>
2693 (dpa->dpa_epbs * (dpa->dpa_curlevel - dpa->dpa_zb.zb_level));
2695 P2PHASE(nextblkid, 1ULL << dpa->dpa_epbs);
2697 kmem_free(dpa, sizeof (*dpa));
2698 } else if (dpa->dpa_curlevel == dpa->dpa_zb.zb_level) {
2699 ASSERT3U(nextblkid, ==, dpa->dpa_zb.zb_blkid);
2700 dbuf_issue_final_prefetch(dpa, bp);
2701 kmem_free(dpa, sizeof (*dpa));
2707 if (dpa->dpa_aflags & ARC_FLAG_L2CACHE)
2710 ASSERT3U(dpa->dpa_curlevel, ==, BP_GET_LEVEL(bp));
2712 SET_BOOKMARK(&zb, dpa->dpa_zb.zb_objset,
2713 dpa->dpa_zb.zb_object, dpa->dpa_curlevel, nextblkid);
2715 (void) arc_read(dpa->dpa_zio, dpa->dpa_spa,
2716 bp, dbuf_prefetch_indirect_done, dpa, dpa->dpa_prio,
2807 dbuf_prefetch_arg_t *dpa = kmem_zalloc(sizeof (*dpa), KM_SLEEP);
2809 SET_BOOKMARK(&dpa->dpa_zb, ds != NULL ? ds->ds_object : DMU_META_OBJSET,
2811 dpa->dpa_curlevel = curlevel;
2812 dpa->dpa_prio = prio;
2813 dpa->dpa_aflags = aflags;
2814 dpa->dpa_spa = dn->dn_objset->os_spa;
2815 dpa->dpa_dnode = dn;
2816 dpa->dpa_epbs = epbs;
2817 dpa->dpa_zio = pio;
2821 dpa->dpa_aflags |= ARC_FLAG_L2CACHE;
2832 dbuf_issue_final_prefetch(dpa, &bp);
2833 kmem_free(dpa, sizeof (*dpa));
2844 (void) arc_read(dpa->dpa_zio, dpa->dpa_spa,
2845 &bp, dbuf_prefetch_indirect_done, dpa, prio,
2851 * dpa may have already been freed.