Lines Matching defs:prov
308 pool_knl_connection_t *prov = (pool_knl_connection_t *)conf->pc_prov;
326 if ((old_elem = dict_get(prov->pkc_elements, elem)) != NULL) {
332 if (dict_put(prov->pkc_elements, elem, elem) != NULL) {
352 if (eo->eo_item.ei_uint64 > prov->pkc_lotime) {
353 if (eo->eo_item.ei_uint64 > prov->pkc_ltime)
354 prov->pkc_ltime = eo->eo_item.ei_uint64;
388 elem->pke_ltime = prov->pkc_ltime;
405 if ((old_elem = dict_get(prov->pkc_elements, elem)) !=
412 if (dict_put(prov->pkc_elements, elem, elem) !=
445 if ((old_elem = dict_get(prov->pkc_elements, elem)) !=
452 if (dict_put(prov->pkc_elements, elem, elem) !=
478 if ((old_elem = dict_get(prov->pkc_elements, elem)) !=
486 if (dict_put(prov->pkc_elements, elem, elem) !=
640 pool_knl_connection_t *prov = (pool_knl_connection_t *)conf->pc_prov;
642 if (close(prov->pkc_fd) < 0) {
647 * Rollback any pending changes before freeing the prov. This
656 pool_knl_connection_free(prov);
662 * the configuration map (prov->pkc_elements).
671 pool_knl_connection_t *prov = (pool_knl_connection_t *)conf->pc_prov;
673 assert(dict_remove(prov->pkc_elements, pke) != NULL);
693 pool_knl_connection_t *prov = (pool_knl_connection_t *)conf->pc_prov;
696 if (pke->pke_ltime < prov->pkc_ltime)
714 pool_knl_connection_t *prov = (pool_knl_connection_t *)conf->pc_prov;
724 if (log_size(prov->pkc_log) != 0) {
735 if (ioctl(prov->pkc_fd, POOL_QUERY, &query) < 0) {
745 if (ioctl(prov->pkc_fd, POOL_QUERY, &query) < 0) {
766 prov->pkc_lotime = prov->pkc_ltime;
784 dict_map(prov->pkc_elements, find_dead_elems, dead_map);
812 pool_knl_connection_t *prov = (pool_knl_connection_t *)conf->pc_prov;
818 if (ioctl(prov->pkc_fd, POOL_COMMIT, lock) < 0) {
827 if (prov->pkc_log->l_state == LS_FAIL) {
835 assert(ioctl(prov->pkc_fd, POOL_COMMIT, lock) >= 0);
841 if (log_walk(prov->pkc_log, log_item_commit) != PO_SUCCESS) {
848 assert(ioctl(prov->pkc_fd, POOL_COMMIT, lock) >= 0);
857 assert(ioctl(prov->pkc_fd, POOL_COMMIT, lock) >= 0);
861 (void) log_walk(prov->pkc_log, log_item_release);
862 log_empty(prov->pkc_log);
1206 pool_knl_connection_t *prov = (pool_knl_connection_t *)conf->pc_prov;
1208 prov->pkc_log->l_state = LS_RECOVER;
1209 if (log_reverse_walk(prov->pkc_log, log_item_undo) != PO_SUCCESS) {
1211 prov->pkc_log->l_state = LS_FAIL;
1215 prov->pkc_log->l_state = LS_DO;
1225 pool_knl_connection_t *prov = (pool_knl_connection_t *)conf->pc_prov;
1227 prov->pkc_log->l_state = LS_UNDO;
1228 if (log_reverse_walk(prov->pkc_log, log_item_undo) != PO_SUCCESS) {
1230 (void) log_walk(prov->pkc_log, log_item_release);
1231 log_empty(prov->pkc_log);
1232 prov->pkc_log->l_state = LS_FAIL;
1236 (void) log_walk(prov->pkc_log, log_item_release);
1237 log_empty(prov->pkc_log);
1238 prov->pkc_log->l_state = LS_DO;
1318 pool_knl_connection_t *prov = (pool_knl_connection_t *)conf->pc_prov;
1370 dict_map(prov->pkc_elements, build_result_set, &qo);
1433 pool_knl_connection_t *prov = (pool_knl_connection_t *)conf->pc_prov;
1446 if (ioctl(prov->pkc_fd, POOL_BINDQ, &bindq) < 0) {
1489 pool_knl_connection_t *prov = (pool_knl_connection_t *)conf->pc_prov;
1501 while ((ret = ioctl(prov->pkc_fd, POOL_BIND, &bind)) < 0 &&
1520 pool_knl_connection_t *prov = (pool_knl_connection_t *)conf->pc_prov;
1533 if (ioctl(prov->pkc_fd, POOL_BINDQ, &bindq) < 0) {
1682 pool_knl_connection_t *prov = (pool_knl_connection_t *)conf->pc_prov;
1738 if (dict_put(prov->pkc_elements, elem, elem) != NULL) {
1744 if (prov->pkc_log->l_state != LS_DO)
1778 if (log_append(prov->pkc_log, POOL_CREATE, (void *)create) !=
1793 pool_knl_connection_t *prov;
1796 prov = (pool_knl_connection_t *)(TO_CONF(pe))->pc_prov;
1798 if (dict_remove(prov->pkc_elements, pe) == NULL) {
1802 if (prov->pkc_log->l_state != LS_DO) {
1826 if (log_append(prov->pkc_log, POOL_DESTROY, (void *)destroy) !=
1867 pool_knl_connection_t *prov =
1870 if (prov->pkc_log->l_state != LS_DO) {
1923 if (log_append(prov->pkc_log, POOL_XTRANSFER, (void *)xtransfer) !=
1988 pool_knl_connection_t *prov;
2002 prov = (pool_knl_connection_t *)(TO_CONF(TO_ELEM(pool)))->pc_prov;
2004 if (prov->pkc_log->l_state != LS_DO) {
2023 if (log_append(prov->pkc_log, POOL_ASSOC, (void *)assoc) !=
2042 pool_knl_connection_t *prov;
2050 prov = (pool_knl_connection_t *)(TO_CONF(TO_ELEM(pool)))->pc_prov;
2052 if (prov->pkc_log->l_state != LS_DO) {
2070 if (log_append(prov->pkc_log, POOL_DISSOC, (void *)dissoc) !=
2096 pool_knl_connection_t *prov;
2098 if ((prov = malloc(sizeof (pool_knl_connection_t))) == NULL) {
2102 (void) memset(prov, 0, sizeof (pool_knl_connection_t));
2106 prov->pc_name = strdup("kernel");
2107 prov->pc_store_type = KERNEL_DATA_STORE;
2108 prov->pc_oflags = oflags;
2112 prov->pc_close = pool_knl_close;
2113 prov->pc_validate = pool_knl_validate;
2114 prov->pc_commit = pool_knl_commit;
2115 prov->pc_export = pool_knl_export;
2116 prov->pc_rollback = pool_knl_rollback;
2117 prov->pc_exec_query = pool_knl_exec_query;
2118 prov->pc_elem_create = pool_knl_elem_create;
2119 prov->pc_remove = pool_knl_remove;
2120 prov->pc_res_xfer = pool_knl_res_transfer;
2121 prov->pc_res_xxfer = pool_knl_res_xtransfer;
2122 prov->pc_get_binding = pool_knl_get_binding;
2123 prov->pc_set_binding = pool_knl_set_binding;
2124 prov->pc_get_resource_binding = pool_knl_get_resource_binding;
2128 conf->pc_prov = (pool_connection_t *)prov;
2138 if ((prov->pkc_fd = blocking_open(pool_dynamic_location(),
2140 free(prov);
2146 if ((prov->pkc_fd = open(pool_info_location, O_RDWR)) < 0) {
2147 free(prov);
2156 if ((prov->pkc_elements = dict_new((int (*)(const void *, const void *))
2158 (void) close(prov->pkc_fd);
2159 free(prov);
2165 if ((prov->pkc_leaks = dict_new(NULL, NULL)) == NULL) {
2166 dict_free(&prov->pkc_elements);
2167 (void) close(prov->pkc_fd);
2168 free(prov);
2177 if ((prov->pkc_log = log_alloc(conf)) == NULL) {
2179 dict_free(&prov->pkc_leaks);
2181 dict_free(&prov->pkc_elements);
2182 (void) close(prov->pkc_fd);
2183 free(prov);
2198 dict_free(&prov->pkc_leaks);
2200 dict_free(&prov->pkc_elements);
2201 (void) close(prov->pkc_fd);
2202 free(prov);
2271 pool_knl_connection_free(pool_knl_connection_t *prov)
2273 if (prov->pkc_log != NULL) {
2274 (void) log_walk(prov->pkc_log, log_item_release);
2275 log_free(prov->pkc_log);
2277 if (prov->pkc_elements != NULL) {
2278 dict_map(prov->pkc_elements, pool_knl_elem_free_cb, NULL);
2280 dprintf("dict length is %llu\n", dict_length(prov->pkc_leaks));
2281 dict_map(prov->pkc_leaks, pool_knl_elem_printf_cb,
2282 prov->pkc_elements);
2283 assert(dict_length(prov->pkc_leaks) == 0);
2284 dict_free(&prov->pkc_leaks);
2286 dict_free(&prov->pkc_elements);
2288 free((void *)prov->pc_name);
2289 free(prov);
2336 pool_knl_connection_t *prov;
2356 prov = (pool_knl_connection_t *)(TO_CONF(pe))->pc_prov;
2357 if (ioctl(prov->pkc_fd, POOL_PROPGET, &propget) < 0) {
2395 pool_knl_connection_t *prov =
2417 if (prov->pkc_log->l_state != LS_DO) {
2470 if (log_append(prov->pkc_log, POOL_PROPPUT, (void *)propput) !=
2489 pool_knl_connection_t *prov =
2506 if (prov->pkc_log->l_state != LS_DO) {
2531 if (log_append(prov->pkc_log, POOL_PROPRM, (void *)proprm) !=
2782 pool_knl_connection_t *prov =
2816 (void) dict_remove(prov->pkc_elements,
2819 if (ioctl(prov->pkc_fd, POOL_CREATE, &create->pcu_ioctl) < 0) {
2836 assert(dict_put(prov->pkc_elements, create->pcu_elem,
2860 (void) dict_remove(prov->pkc_elements,
2862 while ((ret = ioctl(prov->pkc_fd, POOL_DESTROY,
2882 while ((ret = ioctl(prov->pkc_fd, POOL_ASSOC,
2897 while ((ret = ioctl(prov->pkc_fd, POOL_DISSOC,
2933 ioctl(prov->pkc_fd, POOL_XTRANSFER,
2958 if (ioctl(prov->pkc_fd, POOL_PROPPUT,
2973 if (ioctl(prov->pkc_fd, POOL_PROPRM, &proprm->pru_ioctl) < 0) {
3002 pool_knl_connection_t *prov =
3029 (void) dict_remove(prov->pkc_elements, create->pcu_elem);
3042 assert(dict_put(prov->pkc_elements, destroy->pdu_elem,
3154 while ((ret = ioctl(prov->pkc_fd, POOL_DESTROY,
3169 if (ioctl(prov->pkc_fd, POOL_CREATE, &u_create) < 0) {
3186 if (dict_put(prov->pkc_elements, destroy->pdu_elem,
3221 if (ioctl(prov->pkc_fd, POOL_PROPPUT, &u_propput) < 0) {
3243 if (ioctl(prov->pkc_fd, POOL_ASSOC, &u_assoc) < 0) {
3257 while ((ret = ioctl(prov->pkc_fd, POOL_ASSOC, &u_assoc)) < 0 &&
3273 while ((ret = ioctl(prov->pkc_fd, POOL_ASSOC, &u_assoc)) < 0 &&
3294 if (ioctl(prov->pkc_fd, POOL_XTRANSFER, &u_xtransfer) < 0) {
3317 if (ioctl(prov->pkc_fd, POOL_PROPPUT,
3346 if (ioctl(prov->pkc_fd, POOL_PROPRM,
3387 if (ioctl(prov->pkc_fd, POOL_PROPPUT, &u_propput) < 0) {