Lines Matching defs:cbr

316 	dsl_prop_cb_record_t *cbr;
326 cbr = kmem_alloc(sizeof (dsl_prop_cb_record_t), KM_SLEEP);
327 cbr->cbr_ds = ds;
328 cbr->cbr_func = callback;
329 cbr->cbr_arg = cbarg;
335 cbr->cbr_pr = pr;
336 list_insert_head(&pr->pr_cbs, cbr);
337 list_insert_head(&ds->ds_prop_cbs, cbr);
340 cbr->cbr_func(cbr->cbr_arg, value);
479 dsl_prop_cb_record_t *cbr;
482 for (cbr = list_head(&ds->ds_prop_cbs);
483 cbr; cbr = list_next(&ds->ds_prop_cbs, cbr)) {
484 if (cbr->cbr_ds == ds &&
485 cbr->cbr_func == callback &&
486 cbr->cbr_arg == cbarg &&
487 strcmp(cbr->cbr_pr->pr_propname, propname) == 0)
491 if (cbr == NULL) {
496 list_remove(&ds->ds_prop_cbs, cbr);
497 list_remove(&cbr->cbr_pr->pr_cbs, cbr);
499 kmem_free(cbr, sizeof (dsl_prop_cb_record_t));
511 dsl_prop_cb_record_t *cbr, *next_cbr;
518 cbr = next_cbr;
519 next_cbr = list_next(&ds->ds_prop_cbs, cbr);
520 if (cbr->cbr_arg == cbarg) {
521 list_remove(&ds->ds_prop_cbs, cbr);
522 list_remove(&cbr->cbr_pr->pr_cbs, cbr);
523 kmem_free(cbr, sizeof (dsl_prop_cb_record_t));
541 dsl_prop_cb_record_t *cbr;
546 for (cbr = list_head(&pr->pr_cbs); cbr;
547 cbr = list_next(&pr->pr_cbs, cbr)) {
572 if (ds != cbr->cbr_ds &&
573 !dsl_dataset_try_add_ref(dp, cbr->cbr_ds, FTAG))
576 if (dsl_prop_get_ds(cbr->cbr_ds,
577 cbr->cbr_pr->pr_propname, sizeof (value), 1,
579 cbr->cbr_func(cbr->cbr_arg, value);
581 if (ds != cbr->cbr_ds)
582 dsl_dataset_rele(cbr->cbr_ds, FTAG);
609 dsl_prop_cb_record_t *cbr;
637 for (cbr = list_head(&pr->pr_cbs); cbr;
638 cbr = list_next(&pr->pr_cbs, cbr)) {
642 * cbr->cbr_ds may be invalidated due to eviction,
647 if (!dsl_dataset_try_add_ref(dp, cbr->cbr_ds, FTAG))
650 propobj = dsl_dataset_phys(cbr->cbr_ds)->ds_props_obj;
658 cbr->cbr_func(cbr->cbr_arg, value);
660 dsl_dataset_rele(cbr->cbr_ds, FTAG);
862 dsl_prop_cb_record_t *cbr;
869 for (cbr = list_head(&ds->ds_prop_cbs); cbr;
870 cbr = list_next(&ds->ds_prop_cbs, cbr)) {
871 if (strcmp(cbr->cbr_pr->pr_propname,
873 cbr->cbr_func(cbr->cbr_arg, intval);