Lines Matching defs:cnp

92 tmpfs_lookup1(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp)
106 !(cnp->cn_flags & ISDOTDOT)));
113 if (cnp->cn_flags & ISDOTDOT) {
118 pnode, cnp->cn_lkflags, vpp);
122 } else if (cnp->cn_namelen == 1 && cnp->cn_nameptr[0] == '.') {
127 de = tmpfs_dir_lookup(dnode, NULL, cnp);
129 cnp->cn_flags |= ISWHITEOUT;
137 if ((cnp->cn_flags & ISLASTCN) &&
138 (cnp->cn_nameiop == CREATE || \
139 cnp->cn_nameiop == RENAME ||
140 (cnp->cn_nameiop == DELETE &&
141 cnp->cn_flags & DOWHITEOUT &&
142 cnp->cn_flags & ISWHITEOUT))) {
143 error = VOP_ACCESS(dvp, VWRITE, cnp->cn_cred,
168 !(cnp->cn_flags & ISLASTCN)) {
178 if ((cnp->cn_flags & ISLASTCN) &&
179 (cnp->cn_nameiop == DELETE ||
180 cnp->cn_nameiop == RENAME)) {
181 error = VOP_ACCESS(dvp, VWRITE, cnp->cn_cred,
188 cnp->cn_lkflags, vpp);
193 VOP_ACCESS(dvp, VADMIN, cnp->cn_cred,
195 cnp->cn_cred, curthread)) {
203 cnp->cn_lkflags, vpp);
215 if ((cnp->cn_flags & MAKEENTRY) != 0 && tmpfs_use_nc(dvp))
216 cache_enter(dvp, *vpp, cnp);
247 struct componentname *cnp = v->a_cnp;
251 error = vn_dir_check_exec(dvp, cnp);
255 return (tmpfs_lookup1(dvp, vpp, cnp));
263 struct componentname *cnp = v->a_cnp;
269 error = tmpfs_alloc_file(dvp, vpp, vap, cnp, NULL);
270 if (error == 0 && (cnp->cn_flags & MAKEENTRY) != 0 && tmpfs_use_nc(dvp))
271 cache_enter(dvp, *vpp, cnp);
280 struct componentname *cnp = v->a_cnp;
287 return (tmpfs_alloc_file(dvp, vpp, vap, cnp, NULL));
791 struct componentname *cnp = v->a_cnp;
816 cnp->cn_nameptr, cnp->cn_namelen, &de);
821 if (cnp->cn_flags & ISWHITEOUT)
822 tmpfs_dir_whiteout_remove(dvp, cnp);
1312 struct componentname *cnp = v->a_cnp;
1317 return (tmpfs_alloc_file(dvp, vpp, vap, cnp, NULL));
1325 struct componentname *cnp = v->a_cnp;
1342 ((cnp->cn_flags & IGNOREWHITEOUT) == 0 ||
1361 de = tmpfs_dir_lookup(dnode, node, cnp);
1363 cnp->cn_nameptr,
1364 cnp->cn_namelen));
1373 * in cnp->cn_flags), clear the whiteout entries to avoid leaking
1379 if (cnp->cn_flags & DOWHITEOUT)
1380 tmpfs_dir_whiteout_add(dvp, cnp);
1423 struct componentname *cnp = v->a_cnp;
1433 return (tmpfs_alloc_file(dvp, vpp, vap, cnp, target));
1727 struct componentname *cnp = ap->a_cnp;
1734 de = tmpfs_dir_lookup(VP_TO_TMPFS_DIR(dvp), NULL, cnp);
1737 return (tmpfs_dir_whiteout_add(dvp, cnp));
1739 tmpfs_dir_whiteout_remove(dvp, cnp);