Lines Matching refs:exi
57 static void exi_cache_trim(struct exportinfo *exi);
319 nfsauth4_access(struct exportinfo *exi, vnode_t *vp, struct svc_req *req, in nfsauth4_access() argument
324 access = nfsauth_access(exi, req, cr, uid, gid, ngids, gids); in nfsauth4_access()
344 if (has_visible(exi, vp)) in nfsauth4_access()
371 nfsauth_retrieve(nfsauth_globals_t *nag, struct exportinfo *exi, in nfsauth_retrieve() argument
398 varg.arg_u.arg.areq.req_path = exi->exi_export.ex_path; in nfsauth_retrieve()
628 struct exportinfo *exi; in nfsauth_refresh_thread() local
655 exi = ren->ren_exi; in nfsauth_refresh_thread()
656 ASSERT(exi != NULL); in nfsauth_refresh_thread()
723 struct exportinfo *, exi, in nfsauth_refresh_thread()
736 retrieval = nfsauth_retrieve(nag, exi, netid, in nfsauth_refresh_thread()
855 nfsauth_cache_get(struct exportinfo *exi, struct svc_req *req, int flavor, in nfsauth_cache_get() argument
878 ASSERT3P(curzone->zone_id, ==, exi->exi_zoneid); in nfsauth_cache_get()
906 tree = exi->exi_cache[hash(&addr)]; in nfsauth_cache_get()
908 rw_enter(&exi->exi_cache_lock, RW_READER); in nfsauth_cache_get()
914 rw_exit(&exi->exi_cache_lock); in nfsauth_cache_get()
935 rw_enter(&exi->exi_cache_lock, RW_WRITER); in nfsauth_cache_get()
939 rw_downgrade(&exi->exi_cache_lock); in nfsauth_cache_get()
942 rw_downgrade(&exi->exi_cache_lock); in nfsauth_cache_get()
967 rw_exit(&exi->exi_cache_lock); in nfsauth_cache_get()
985 rw_exit(&exi->exi_cache_lock); in nfsauth_cache_get()
1001 rw_exit(&exi->exi_cache_lock); in nfsauth_cache_get()
1042 res = nfsauth_retrieve(nag, exi, svc_getnetid(req->rq_xprt), in nfsauth_cache_get()
1120 struct exportinfo *, exi, in nfsauth_cache_get()
1156 if (ren->ren_exi == exi) { in nfsauth_cache_get()
1168 exi_hold(exi); in nfsauth_cache_get()
1169 ren->ren_exi = exi; in nfsauth_cache_get()
1213 if (nfsauth_retrieve(nag, exi, svc_getnetid(req->rq_xprt), flavor, in nfsauth_cache_get()
1237 nfsauth4_secinfo_access(struct exportinfo *exi, struct svc_req *req, in nfsauth4_secinfo_access() argument
1257 access = nfsauth_cache_get(exi, req, flavor, cr, NULL, NULL, NULL, in nfsauth4_secinfo_access()
1264 nfsauth_access(struct exportinfo *exi, struct svc_req *req, cred_t *cr, in nfsauth_access() argument
1278 *uid = exi->exi_export.ex_anon; in nfsauth_access()
1280 *gid = exi->exi_export.ex_anon; in nfsauth_access()
1305 sp = exi->exi_export.ex_secinfo; in nfsauth_access()
1306 for (i = 0; i < exi->exi_export.ex_seccnt; i++) { in nfsauth_access()
1317 if (i >= exi->exi_export.ex_seccnt) { in nfsauth_access()
1363 access = nfsauth_cache_get(exi, req, flavor, cr, uid, gid, ngids, gids); in nfsauth_access()
1387 access = nfsauth_cache_get(exi, req, AUTH_NONE, cr, in nfsauth_access()
1393 for (; i < exi->exi_export.ex_seccnt; i++) { in nfsauth_access()
1396 access = nfsauth_cache_get(exi, req, in nfsauth_access()
1441 nfsauth_cache_free(struct exportinfo *exi) in nfsauth_cache_free() argument
1451 avl_tree_t *tree = exi->exi_cache[i]; in nfsauth_cache_free()
1494 struct exportinfo *exi; in exi_cache_reclaim_zone() local
1500 for (exi = ne->exptable[i]; exi; exi = exi->fid_hash.next) in exi_cache_reclaim_zone()
1501 exi_cache_trim(exi); in exi_cache_reclaim_zone()
1510 exi_cache_trim(struct exportinfo *exi) in exi_cache_trim() argument
1521 tree = exi->exi_cache[i]; in exi_cache_trim()
1523 rw_enter(&exi->exi_cache_lock, RW_READER); in exi_cache_trim()
1536 rw_exit(&exi->exi_cache_lock); in exi_cache_trim()
1583 if (rw_tryupgrade(&exi->exi_cache_lock) == 0) { in exi_cache_trim()
1584 rw_exit(&exi->exi_cache_lock); in exi_cache_trim()
1600 rw_exit(&exi->exi_cache_lock); in exi_cache_trim()