Lines Matching refs:zs
78 struct idmap_zone_specific *zs; member
113 kidmap_rpc_call(idmap_zone_specific_t *zs, uint32_t op,
118 kidmap_call_door(idmap_zone_specific_t *zs, door_arg_t *arg);
128 idmap_zone_specific_t *zs; in idmap_reg_dh() local
130 zs = idmap_get_zone_specific(zone); in idmap_reg_dh()
132 mutex_enter(&zs->zone_mutex); in idmap_reg_dh()
134 if (zs->door_valid) in idmap_reg_dh()
135 door_ki_rele(zs->door_handle); in idmap_reg_dh()
137 zs->door_handle = dh; in idmap_reg_dh()
138 zs->door_valid = 1; in idmap_reg_dh()
140 mutex_exit(&zs->zone_mutex); in idmap_reg_dh()
156 idmap_zone_specific_t *zs; in idmap_unreg_dh() local
158 zs = idmap_get_zone_specific(zone); in idmap_unreg_dh()
160 kidmap_cache_purge(&zs->cache); in idmap_unreg_dh()
162 mutex_enter(&zs->zone_mutex); in idmap_unreg_dh()
164 if (!zs->door_valid || zs->door_handle != dh) { in idmap_unreg_dh()
165 mutex_exit(&zs->zone_mutex); in idmap_unreg_dh()
169 door_ki_rele(zs->door_handle); in idmap_unreg_dh()
171 zs->door_valid = 0; in idmap_unreg_dh()
172 zs->door_retried = 0; in idmap_unreg_dh()
173 mutex_exit(&zs->zone_mutex); in idmap_unreg_dh()
188 idmap_zone_specific_t *zs; in idmap_get_cache_data() local
190 zs = idmap_get_zone_specific(zone); in idmap_get_cache_data()
192 kidmap_cache_get_data(&zs->cache, uidbysid, gidbysid, in idmap_get_cache_data()
197 kidmap_call_door(idmap_zone_specific_t *zs, door_arg_t *arg) in kidmap_call_door() argument
206 mutex_enter(&zs->zone_mutex); in kidmap_call_door()
207 if (zs->door_valid) { in kidmap_call_door()
208 dh = zs->door_handle; in kidmap_call_door()
212 door_retried = zs->door_retried; in kidmap_call_door()
214 mutex_exit(&zs->zone_mutex); in kidmap_call_door()
231 zcmn_err(zs->zone_id, CE_WARN, in kidmap_call_door()
235 mutex_enter(&zs->zone_mutex); in kidmap_call_door()
236 if (!zs->door_valid) in kidmap_call_door()
237 zs->door_retried = 1; in kidmap_call_door()
238 mutex_exit(&zs->zone_mutex); in kidmap_call_door()
255 zcmn_err(zs->zone_id, CE_WARN, in kidmap_call_door()
270 zcmn_err(zs->zone_id, CE_WARN, in kidmap_call_door()
279 mutex_enter(&zs->zone_mutex); in kidmap_call_door()
280 if (zs->door_valid && dh == zs->door_handle) { in kidmap_call_door()
281 zs->door_valid = 0; in kidmap_call_door()
282 zs->door_retried = 0; in kidmap_call_door()
283 door_ki_rele(zs->door_handle); in kidmap_call_door()
285 mutex_exit(&zs->zone_mutex); in kidmap_call_door()
288 zcmn_err(zs->zone_id, CE_WARN, in kidmap_call_door()
297 zcmn_err(zs->zone_id, CE_WARN, in kidmap_call_door()
309 idmap_zone_specific_t *zs; in idmap_get_zone_specific() local
313 zs = zone_getspecific(idmap_zone_key, zone); in idmap_get_zone_specific()
314 if (zs != NULL) in idmap_get_zone_specific()
315 return (zs); in idmap_get_zone_specific()
318 zs = zone_getspecific(idmap_zone_key, zone); in idmap_get_zone_specific()
319 if (zs == NULL) { in idmap_get_zone_specific()
320 zs = kmem_zalloc(sizeof (idmap_zone_specific_t), KM_SLEEP); in idmap_get_zone_specific()
321 mutex_init(&zs->zone_mutex, NULL, MUTEX_DEFAULT, NULL); in idmap_get_zone_specific()
322 kidmap_cache_create(&zs->cache); in idmap_get_zone_specific()
323 zs->zone_id = zone->zone_id; in idmap_get_zone_specific()
324 (void) zone_setspecific(idmap_zone_key, zone, zs); in idmap_get_zone_specific()
326 return (zs); in idmap_get_zone_specific()
330 return (zs); in idmap_get_zone_specific()
338 idmap_zone_specific_t *zs = arg; in idmap_zone_destroy() local
339 if (zs != NULL) { in idmap_zone_destroy()
340 kidmap_cache_delete(&zs->cache); in idmap_zone_destroy()
341 if (zs->door_valid) { in idmap_zone_destroy()
342 door_ki_rele(zs->door_handle); in idmap_zone_destroy()
344 mutex_destroy(&zs->zone_mutex); in idmap_zone_destroy()
345 kmem_free(zs, sizeof (idmap_zone_specific_t)); in idmap_zone_destroy()
378 idmap_zone_specific_t *zs; in idmap_get_door() local
380 zs = idmap_get_zone_specific(zone); in idmap_get_door()
382 mutex_enter(&zs->zone_mutex); in idmap_get_door()
383 if (zs->door_valid) { in idmap_get_door()
384 dh = zs->door_handle; in idmap_get_door()
387 mutex_exit(&zs->zone_mutex); in idmap_get_door()
401 idmap_zone_specific_t *zs; in idmap_purge_cache() local
403 zs = idmap_get_zone_specific(zone); in idmap_purge_cache()
405 kidmap_cache_purge(&zs->cache); in idmap_purge_cache()
428 idmap_zone_specific_t *zs; in kidmap_getuidbysid() local
439 zs = idmap_get_zone_specific(zone); in kidmap_getuidbysid()
441 if (kidmap_cache_lookup_uidbysid(&zs->cache, sid_prefix, rid, uid) in kidmap_getuidbysid()
456 if (kidmap_rpc_call(zs, op, xdr_idmap_mapping_batch, in kidmap_getuidbysid()
470 kidmap_cache_add_sid2uid(&zs->cache, in kidmap_getuidbysid()
505 idmap_zone_specific_t *zs; in kidmap_getgidbysid() local
516 zs = idmap_get_zone_specific(zone); in kidmap_getgidbysid()
518 if (kidmap_cache_lookup_gidbysid(&zs->cache, sid_prefix, rid, gid) in kidmap_getgidbysid()
533 if (kidmap_rpc_call(zs, op, xdr_idmap_mapping_batch, in kidmap_getgidbysid()
547 kidmap_cache_add_sid2gid(&zs->cache, in kidmap_getgidbysid()
582 idmap_zone_specific_t *zs; in kidmap_getpidbysid() local
593 zs = idmap_get_zone_specific(zone); in kidmap_getpidbysid()
595 if (kidmap_cache_lookup_pidbysid(&zs->cache, sid_prefix, rid, pid, in kidmap_getpidbysid()
610 if (kidmap_rpc_call(zs, op, xdr_idmap_mapping_batch, in kidmap_getpidbysid()
632 kidmap_cache_add_sid2pid(&zs->cache, in kidmap_getpidbysid()
670 idmap_zone_specific_t *zs; in kidmap_getsidbyuid() local
682 zs = idmap_get_zone_specific(zone); in kidmap_getsidbyuid()
684 if (kidmap_cache_lookup_sidbyuid(&zs->cache, sid_prefix, rid, uid) in kidmap_getsidbyuid()
699 if (kidmap_rpc_call(zs, op, xdr_idmap_mapping_batch, in kidmap_getsidbyuid()
717 kidmap_cache_add_sid2uid(&zs->cache, in kidmap_getsidbyuid()
754 idmap_zone_specific_t *zs; in kidmap_getsidbygid() local
765 zs = idmap_get_zone_specific(zone); in kidmap_getsidbygid()
767 if (kidmap_cache_lookup_sidbygid(&zs->cache, sid_prefix, rid, gid) in kidmap_getsidbygid()
782 if (kidmap_rpc_call(zs, op, xdr_idmap_mapping_batch, in kidmap_getsidbygid()
800 kidmap_cache_add_sid2gid(&zs->cache, in kidmap_getsidbygid()
831 idmap_zone_specific_t *zs; in kidmap_get_create() local
835 zs = idmap_get_zone_specific(zone); in kidmap_get_create()
845 handle->zs = zs; in kidmap_get_create()
908 if (kidmap_cache_lookup_uidbysid(&get_handle->zs->cache, sid_prefix, in kidmap_batch_getuidbysid()
969 if (kidmap_cache_lookup_gidbysid(&get_handle->zs->cache, sid_prefix, in kidmap_batch_getgidbysid()
1032 if (kidmap_cache_lookup_pidbysid(&get_handle->zs->cache, sid_prefix, in kidmap_batch_getpidbysid()
1091 if (kidmap_cache_lookup_sidbyuid(&get_handle->zs->cache, in kidmap_batch_getsidbyuid()
1146 if (kidmap_cache_lookup_sidbygid(&get_handle->zs->cache, in kidmap_batch_getsidbygid()
1207 cache = &get_handle->zs->cache; in kidmap_get_mappings()
1214 if (kidmap_rpc_call(get_handle->zs, op, xdr_idmap_mapping_batch, in kidmap_get_mappings()
1397 kidmap_rpc_call(idmap_zone_specific_t *zs, uint32_t op, xdrproc_t xdr_args, in kidmap_rpc_call() argument
1423 call_msg.rm_xid = atomic_inc_32_nv(&zs->message_id); in kidmap_rpc_call()
1427 zcmn_err(zs->zone_id, CE_WARN, in kidmap_rpc_call()
1441 zcmn_err(zs->zone_id, CE_WARN, "idmap: xdr encoding error"); in kidmap_rpc_call()
1458 zcmn_err(zs->zone_id, CE_WARN, in kidmap_rpc_call()
1476 if (kidmap_call_door(zs, ¶ms) != 0) { in kidmap_rpc_call()
1493 zcmn_err(zs->zone_id, CE_WARN, in kidmap_rpc_call()