Lines Matching refs:cnp

160 static vnode_t cache_lookup_locked(vnode_t dvp, struct componentname *cnp);
164 static void cache_enter_locked(vnode_t dvp, vnode_t vp, struct componentname *cnp, const char *strname);
975 cache_lookup_path(struct nameidata *ndp, struct componentname *cnp, vnode_t dp,
1009 * cnp->cn_nameptr for callers that need the name.
1012 cp = cnp->cn_nameptr;
1024 cnp->cn_hash = hash;
1025 cnp->cn_namelen = cp - cnp->cn_nameptr;
1027 ndp->ni_pathlen -= cnp->cn_namelen;
1048 cnp->cn_flags &= ~(MAKEENTRY | ISLASTCN | ISDOTDOT);
1051 cnp->cn_flags |= ISLASTCN;
1053 if (cnp->cn_namelen == 2 && cnp->cn_nameptr[1] == '.' && cnp->cn_nameptr[0] == '.')
1054 cnp->cn_flags |= ISDOTDOT;
1072 cnp->cn_flags |= CN_WANTSRSRCFORK;
1073 cnp->cn_flags |= ISLASTCN;
1089 if (!(cnp->cn_flags & DONOTAUTH)) {
1090 error = mac_vnode_check_lookup(ctx, dp, cnp);
1115 if ( (cnp->cn_flags & (ISLASTCN | ISDOTDOT)) ) {
1116 if (cnp->cn_nameiop != LOOKUP)
1118 if (cnp->cn_flags & LOCKPARENT)
1120 if (cnp->cn_flags & NOCACHE)
1122 if (cnp->cn_flags & ISDOTDOT) {
1147 if (cnp->cn_namelen == 1 && cnp->cn_nameptr[0] == '.')
1149 else if ( (cnp->cn_flags & ISDOTDOT) )
1152 if ( (vp = cache_lookup_locked(dp, cnp)) == NULLVP)
1163 if ( (cnp->cn_flags & ISLASTCN) )
1172 if ( (mp = vp->v_mountedhere) && ((cnp->cn_flags & NOCROSSMOUNT) == 0)) {
1196 cnp->cn_nameptr = ndp->ni_next + 1;
1198 while (*cnp->cn_nameptr == '/') {
1199 cnp->cn_nameptr++;
1210 ((cnp->cn_flags & (ISLASTCN | LOCKPARENT | WANTPARENT | SAVESTART)) == ISLASTCN)) {
1317 cache_lookup_locked(vnode_t dvp, struct componentname *cnp)
1321 long namelen = cnp->cn_namelen;
1322 unsigned int hashval = (cnp->cn_hash & NCHASHMASK);
1328 ncpp = NCHHASH(dvp, cnp->cn_hash);
1331 if (memcmp(ncp->nc_name, cnp->cn_nameptr, namelen) == 0 && ncp->nc_name[namelen] == 0)
1385 * cnp pointing to the name of the entry being sought. If the lookup
1393 cache_lookup(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp)
1397 long namelen = cnp->cn_namelen;
1403 if (cnp->cn_hash == 0)
1404 cnp->cn_hash = hash_string(cnp->cn_nameptr, cnp->cn_namelen);
1405 hashval = (cnp->cn_hash & NCHASHMASK);
1414 ncpp = NCHHASH(dvp, cnp->cn_hash);
1417 if (memcmp(ncp->nc_name, cnp->cn_nameptr, namelen) == 0 && ncp->nc_name[namelen] == 0)
1429 if ((cnp->cn_flags & MAKEENTRY) == 0) {
1463 if (cnp->cn_nameiop == CREATE || cnp->cn_nameiop == RENAME) {
1483 cnp->cn_flags |= ISWHITEOUT;
1489 cache_enter_create(vnode_t dvp, vnode_t vp, struct componentname *cnp)
1493 if (cnp->cn_hash == 0)
1494 cnp->cn_hash = hash_string(cnp->cn_nameptr, cnp->cn_namelen);
1501 strname = add_name_internal(cnp->cn_nameptr, cnp->cn_namelen, cnp->cn_hash, TRUE, 0);
1505 cache_enter_locked(dvp, vp, cnp, strname);
1522 cache_enter_with_gen(struct vnode *dvp, struct vnode *vp, struct componentname *cnp, int gen)
1525 if (cnp->cn_hash == 0)
1526 cnp->cn_hash = hash_string(cnp->cn_nameptr, cnp->cn_namelen);
1531 (void)cache_enter_locked(dvp, vp, cnp, NULL);
1541 cache_enter(struct vnode *dvp, struct vnode *vp, struct componentname *cnp)
1545 if (cnp->cn_hash == 0)
1546 cnp->cn_hash = hash_string(cnp->cn_nameptr, cnp->cn_namelen);
1552 strname = add_name_internal(cnp->cn_nameptr, cnp->cn_namelen, cnp->cn_hash, FALSE, 0);
1556 cache_enter_locked(dvp, vp, cnp, strname);
1563 cache_enter_locked(struct vnode *dvp, struct vnode *vp, struct componentname *cnp, const char *strname)
1619 ncp->nc_hashval = cnp->cn_hash;
1623 ncp->nc_name = add_name_internal(cnp->cn_nameptr, cnp->cn_namelen, cnp->cn_hash, FALSE, 0);
1632 ncpp = NCHHASH(dvp, cnp->cn_hash);
1661 if (cnp->cn_flags & ISWHITEOUT)