Lines Matching refs:spc
1862 scan_prefetch_ctx_rele(scan_prefetch_ctx_t *spc, const void *tag) in scan_prefetch_ctx_rele() argument
1864 if (zfs_refcount_remove(&spc->spc_refcnt, tag) == 0) { in scan_prefetch_ctx_rele()
1865 zfs_refcount_destroy(&spc->spc_refcnt); in scan_prefetch_ctx_rele()
1866 kmem_free(spc, sizeof (scan_prefetch_ctx_t)); in scan_prefetch_ctx_rele()
1873 scan_prefetch_ctx_t *spc; in scan_prefetch_ctx_create() local
1875 spc = kmem_alloc(sizeof (scan_prefetch_ctx_t), KM_SLEEP); in scan_prefetch_ctx_create()
1876 zfs_refcount_create(&spc->spc_refcnt); in scan_prefetch_ctx_create()
1877 zfs_refcount_add(&spc->spc_refcnt, tag); in scan_prefetch_ctx_create()
1878 spc->spc_scn = scn; in scan_prefetch_ctx_create()
1880 spc->spc_datablkszsec = dnp->dn_datablkszsec; in scan_prefetch_ctx_create()
1881 spc->spc_indblkshift = dnp->dn_indblkshift; in scan_prefetch_ctx_create()
1882 spc->spc_root = B_FALSE; in scan_prefetch_ctx_create()
1884 spc->spc_datablkszsec = 0; in scan_prefetch_ctx_create()
1885 spc->spc_indblkshift = 0; in scan_prefetch_ctx_create()
1886 spc->spc_root = B_TRUE; in scan_prefetch_ctx_create()
1889 return (spc); in scan_prefetch_ctx_create()
1893 scan_prefetch_ctx_add_ref(scan_prefetch_ctx_t *spc, const void *tag) in scan_prefetch_ctx_add_ref() argument
1895 zfs_refcount_add(&spc->spc_refcnt, tag); in scan_prefetch_ctx_add_ref()
1915 dsl_scan_check_prefetch_resume(scan_prefetch_ctx_t *spc, in dsl_scan_check_prefetch_resume() argument
1918 zbookmark_phys_t *last_zb = &spc->spc_scn->scn_prefetch_bookmark; in dsl_scan_check_prefetch_resume()
1920 dnode_phys_t *dnp = (spc->spc_root) ? NULL : &tmp_dnp; in dsl_scan_check_prefetch_resume()
1927 tmp_dnp.dn_datablkszsec = spc->spc_datablkszsec; in dsl_scan_check_prefetch_resume()
1928 tmp_dnp.dn_indblkshift = spc->spc_indblkshift; in dsl_scan_check_prefetch_resume()
1937 dsl_scan_prefetch(scan_prefetch_ctx_t *spc, blkptr_t *bp, zbookmark_phys_t *zb) in dsl_scan_prefetch() argument
1940 dsl_scan_t *scn = spc->spc_scn; in dsl_scan_prefetch()
1953 if (dsl_scan_check_prefetch_resume(spc, zb)) in dsl_scan_prefetch()
1956 scan_prefetch_ctx_add_ref(spc, scn); in dsl_scan_prefetch()
1958 spic->spic_spc = spc; in dsl_scan_prefetch()
1971 scan_prefetch_ctx_rele(spc, scn); in dsl_scan_prefetch()
1987 scan_prefetch_ctx_t *spc; in dsl_scan_prefetch_dnode() local
1994 spc = scan_prefetch_ctx_create(scn, dnp, FTAG); in dsl_scan_prefetch_dnode()
1999 dsl_scan_prefetch(spc, &dnp->dn_blkptr[i], &zb); in dsl_scan_prefetch_dnode()
2005 dsl_scan_prefetch(spc, DN_SPILL_BLKPTR(dnp), &zb); in dsl_scan_prefetch_dnode()
2008 scan_prefetch_ctx_rele(spc, FTAG); in dsl_scan_prefetch_dnode()
2016 scan_prefetch_ctx_t *spc = private; in dsl_scan_prefetch_cb() local
2017 dsl_scan_t *scn = spc->spc_scn; in dsl_scan_prefetch_cb()
2040 dsl_scan_prefetch(spc, cbp, &czb); in dsl_scan_prefetch_cb()
2077 scan_prefetch_ctx_rele(spc, scn); in dsl_scan_prefetch_cb()
2431 scan_prefetch_ctx_t *spc; in dsl_scan_visit_rootbp() local
2445 spc = scan_prefetch_ctx_create(scn, NULL, FTAG); in dsl_scan_visit_rootbp()
2446 dsl_scan_prefetch(spc, bp, &zb); in dsl_scan_visit_rootbp()
2447 scan_prefetch_ctx_rele(spc, FTAG); in dsl_scan_visit_rootbp()