Lines Matching refs:spc

348 	scan_prefetch_ctx_t *spic_spc;	/* spc for the callback */
1825 scan_prefetch_ctx_rele(scan_prefetch_ctx_t *spc, const void *tag)
1827 if (zfs_refcount_remove(&spc->spc_refcnt, tag) == 0) {
1828 zfs_refcount_destroy(&spc->spc_refcnt);
1829 kmem_free(spc, sizeof (scan_prefetch_ctx_t));
1836 scan_prefetch_ctx_t *spc;
1838 spc = kmem_alloc(sizeof (scan_prefetch_ctx_t), KM_SLEEP);
1839 zfs_refcount_create(&spc->spc_refcnt);
1840 zfs_refcount_add(&spc->spc_refcnt, tag);
1841 spc->spc_scn = scn;
1843 spc->spc_datablkszsec = dnp->dn_datablkszsec;
1844 spc->spc_indblkshift = dnp->dn_indblkshift;
1845 spc->spc_root = B_FALSE;
1847 spc->spc_datablkszsec = 0;
1848 spc->spc_indblkshift = 0;
1849 spc->spc_root = B_TRUE;
1852 return (spc);
1856 scan_prefetch_ctx_add_ref(scan_prefetch_ctx_t *spc, const void *tag)
1858 zfs_refcount_add(&spc->spc_refcnt, tag);
1878 dsl_scan_check_prefetch_resume(scan_prefetch_ctx_t *spc,
1881 zbookmark_phys_t *last_zb = &spc->spc_scn->scn_prefetch_bookmark;
1883 dnode_phys_t *dnp = (spc->spc_root) ? NULL : &tmp_dnp;
1890 tmp_dnp.dn_datablkszsec = spc->spc_datablkszsec;
1891 tmp_dnp.dn_indblkshift = spc->spc_indblkshift;
1900 dsl_scan_prefetch(scan_prefetch_ctx_t *spc, blkptr_t *bp, zbookmark_phys_t *zb)
1903 dsl_scan_t *scn = spc->spc_scn;
1916 if (dsl_scan_check_prefetch_resume(spc, zb))
1919 scan_prefetch_ctx_add_ref(spc, scn);
1921 spic->spic_spc = spc;
1934 scan_prefetch_ctx_rele(spc, scn);
1950 scan_prefetch_ctx_t *spc;
1957 spc = scan_prefetch_ctx_create(scn, dnp, FTAG);
1962 dsl_scan_prefetch(spc, &dnp->dn_blkptr[i], &zb);
1968 dsl_scan_prefetch(spc, DN_SPILL_BLKPTR(dnp), &zb);
1971 scan_prefetch_ctx_rele(spc, FTAG);
1979 scan_prefetch_ctx_t *spc = private;
1980 dsl_scan_t *scn = spc->spc_scn;
2003 dsl_scan_prefetch(spc, cbp, &czb);
2040 scan_prefetch_ctx_rele(spc, scn);
2394 scan_prefetch_ctx_t *spc;
2408 spc = scan_prefetch_ctx_create(scn, NULL, FTAG);
2409 dsl_scan_prefetch(spc, bp, &zb);
2410 scan_prefetch_ctx_rele(spc, FTAG);