Lines Matching refs:ncp

1116 	struct  namecache *ncp;  in vnode_update_identity()  local
1187 while ((ncp = LIST_FIRST(&vp->v_nclinks))) { in vnode_update_identity()
1188 cache_delete(ncp, 1); in vnode_update_identity()
1191 while ((ncp = TAILQ_FIRST(&vp->v_ncchildren))) { in vnode_update_identity()
1192 cache_delete(ncp, 1); in vnode_update_identity()
1219 while ((ncp = LIST_FIRST(&vp->v_nclinks))) { in vnode_update_identity()
1220 cache_delete(ncp, 1); in vnode_update_identity()
2378 struct namecache *ncp; in cache_lookup_locked() local
2386 smrq_serialized_foreach(ncp, NCHHASH(dvp, cnp->cn_hash), nc_hash) { in cache_lookup_locked()
2387 if ((ncp->nc_dvp == dvp) && (ncp->nc_hashval == hashval)) { in cache_lookup_locked()
2388 if (strncmp(ncp->nc_name, cnp->cn_nameptr, namelen) == 0 && ncp->nc_name[namelen] == 0) { in cache_lookup_locked()
2393 if (ncp == 0) { in cache_lookup_locked()
2403 if (!ncp->nc_vp) { in cache_lookup_locked()
2407 *vidp = ncp->nc_vid; in cache_lookup_locked()
2410 return ncp->nc_vp; in cache_lookup_locked()
2416 struct namecache *ncp; in cache_lookup_smr() local
2427 smrq_entered_foreach(ncp, NCHHASH(dvp, cnp->cn_hash), nc_hash) { in cache_lookup_smr()
2428 counter = os_atomic_load(&ncp->nc_counter, acquire); in cache_lookup_smr()
2430 ncp = NULL; in cache_lookup_smr()
2433 if ((ncp->nc_dvp == dvp) && (ncp->nc_hashval == hashval)) { in cache_lookup_smr()
2435 os_atomic_load(&ncp->nc_name, relaxed); in cache_lookup_smr()
2441 ncp = NULL; in cache_lookup_smr()
2448 if (ncp == 0) { in cache_lookup_smr()
2452 vp = ncp->nc_vp; in cache_lookup_smr()
2453 vid = ncp->nc_vid; in cache_lookup_smr()
2462 if (os_atomic_load(&ncp->nc_counter, acquire) != counter) { in cache_lookup_smr()
2528 struct namecache *ncp; in cache_lookup_fallback() local
2538 smrq_serialized_foreach(ncp, NCHHASH(dvp, cnp->cn_hash), nc_hash) { in cache_lookup_fallback()
2539 if ((ncp->nc_dvp == dvp) && (ncp->nc_hashval == hashval)) { in cache_lookup_fallback()
2540 if (strncmp(ncp->nc_name, cnp->cn_nameptr, namelen) == 0 && ncp->nc_name[namelen] == 0) { in cache_lookup_fallback()
2546 if (ncp == 0) { in cache_lookup_fallback()
2556 cache_delete(ncp, 1); in cache_lookup_fallback()
2566 vp = ncp->nc_vp; in cache_lookup_fallback()
2572 vid = ncp->nc_vid; in cache_lookup_fallback()
2595 cache_delete(ncp, 1); in cache_lookup_fallback()
2637 struct namecache *ncp; in cache_lookup_ext() local
2666 smrq_entered_foreach(ncp, NCHHASH(dvp, cnp->cn_hash), nc_hash) { in cache_lookup_ext()
2667 counter = os_atomic_load(&ncp->nc_counter, acquire); in cache_lookup_ext()
2672 if ((ncp->nc_dvp == dvp) && (ncp->nc_hashval == hashval)) { in cache_lookup_ext()
2674 os_atomic_load(&ncp->nc_name, relaxed); in cache_lookup_ext()
2687 if (ncp == 0) { in cache_lookup_ext()
2694 vp = ncp->nc_vp; in cache_lookup_ext()
2695 vid = ncp->nc_vid; in cache_lookup_ext()
2704 if (os_atomic_load(&ncp->nc_counter, acquire) != counter) { in cache_lookup_ext()
2835 struct namecache *ncp, *negp; in cache_enter_locked() local
2861 ((ncp = nchead.tqh_first) == NULL || in cache_enter_locked()
2862 (ncp->nc_counter & NC_VALID))) { in cache_enter_locked()
2867 ncp = zalloc_smr(namecache_zone, Z_WAITOK_ZERO_NOFAIL); in cache_enter_locked()
2869 ncp = zalloc(namecache_zone); in cache_enter_locked()
2871 ncp->nc_counter = 0; in cache_enter_locked()
2877 ncp = TAILQ_FIRST(&nchead); in cache_enter_locked()
2878 TAILQ_REMOVE(&nchead, ncp, nc_entry); in cache_enter_locked()
2880 if (ncp->nc_counter & NC_VALID) { in cache_enter_locked()
2886 cache_delete(ncp, 0); in cache_enter_locked()
2895 ncp->nc_vid = vnode_vid(vp); in cache_enter_locked()
2898 ncp->nc_vp = vp; in cache_enter_locked()
2899 ncp->nc_dvp = dvp; in cache_enter_locked()
2900 ncp->nc_hashval = cnp->cn_hash; in cache_enter_locked()
2903 ncp->nc_name = add_name_internal(cnp->cn_nameptr, cnp->cn_namelen, cnp->cn_hash, FALSE, 0); in cache_enter_locked()
2905 ncp->nc_name = strname; in cache_enter_locked()
2918 if (vn_name && ncp && ncp->nc_name && strncmp(ncp->nc_name, vn_name, len) != 0) { in cache_enter_locked()
2921 vfs_removename(ncp->nc_name); in cache_enter_locked()
2922 ncp->nc_name = add_name_internal(vn_name, len, hash, FALSE, 0); in cache_enter_locked()
2923 ncp->nc_hashval = hash; in cache_enter_locked()
2930 TAILQ_INSERT_TAIL(&nchead, ncp, nc_entry); in cache_enter_locked()
2938 if (p == ncp) { in cache_enter_locked()
2947 smrq_serialized_insert_head(ncpp, &ncp->nc_hash); in cache_enter_locked()
2954 LIST_INSERT_HEAD(&vp->v_nclinks, ncp, nc_un.nc_link); in cache_enter_locked()
2960 TAILQ_INSERT_TAIL(&neghead, ncp, nc_un.nc_negentry); in cache_enter_locked()
2980 TAILQ_INSERT_TAIL(&dvp->v_ncchildren, ncp, nc_child); in cache_enter_locked()
2982 TAILQ_INSERT_HEAD(&dvp->v_ncchildren, ncp, nc_child); in cache_enter_locked()
2994 uint32_t old_count = os_atomic_inc_orig(&ncp->nc_counter, release); in cache_enter_locked()
3166 struct namecache *ncp = _ncp; in namecache_smr_free() local
3168 bzero(ncp, sizeof(*ncp)); in namecache_smr_free()
3172 cache_delete(struct namecache *ncp, int free_entry) in cache_delete() argument
3180 uint32_t old_count = os_atomic_inc_orig(&ncp->nc_counter, release); in cache_delete()
3186 if (ncp->nc_vp) { in cache_delete()
3187 LIST_REMOVE(ncp, nc_un.nc_link); in cache_delete()
3189 TAILQ_REMOVE(&neghead, ncp, nc_un.nc_negentry); in cache_delete()
3192 TAILQ_REMOVE(&(ncp->nc_dvp->v_ncchildren), ncp, nc_child); in cache_delete()
3194 smrq_serialized_remove((NCHHASH(ncp->nc_dvp, ncp->nc_hashval)), &ncp->nc_hash); in cache_delete()
3196 const char *nc_name = ncp->nc_name; in cache_delete()
3197 ncp->nc_name = NULL; in cache_delete()
3199 if (ncp->nc_vp) { in cache_delete()
3200 vnode_t vp = ncp->nc_vp; in cache_delete()
3202 ncp->nc_vp = NULLVP; in cache_delete()
3207 TAILQ_REMOVE(&nchead, ncp, nc_entry); in cache_delete()
3209 zfree_smr(namecache_zone, ncp); in cache_delete()
3211 zfree(namecache_zone, ncp); in cache_delete()
3225 struct namecache *ncp; in cache_purge_locked() local
3239 while ((ncp = LIST_FIRST(&vp->v_nclinks))) { in cache_purge_locked()
3240 cache_delete(ncp, 1); in cache_purge_locked()
3243 while ((ncp = TAILQ_FIRST(&vp->v_ncchildren))) { in cache_purge_locked()
3244 cache_delete(ncp, 1); in cache_purge_locked()
3288 struct namecache *ncp, *next_ncp; in cache_purge_negatives() local
3292 TAILQ_FOREACH_SAFE(ncp, &vp->v_ncchildren, nc_child, next_ncp) { in cache_purge_negatives()
3293 if (ncp->nc_vp) { in cache_purge_negatives()
3297 cache_delete(ncp, 1); in cache_purge_negatives()
3313 struct namecache *ncp; in cache_purgevfs() local
3319 smrq_serialized_foreach(ncp, ncpp, nc_hash) { in cache_purgevfs()
3320 if (ncp->nc_dvp->v_mount == mp) { in cache_purgevfs()
3321 cache_delete(ncp, 0); in cache_purgevfs()