Lines Matching defs:pnd
59 struct perfuse_node_data *pnd;
61 if ((pnd = malloc(sizeof(*pnd))) == NULL)
64 if ((pn = puffs_pn_new(pu, pnd)) == NULL)
67 (void)memset(pnd, 0, sizeof(*pnd));
68 pnd->pnd_rfh = FUSE_UNKNOWN_FH;
69 pnd->pnd_wfh = FUSE_UNKNOWN_FH;
70 pnd->pnd_nodeid = PERFUSE_UNKNOWN_NODEID;
72 pnd->pnd_parent_nodeid = PERFUSE_NODE_DATA(parent)->pnd_nodeid;
74 pnd->pnd_parent_nodeid = FUSE_ROOT_ID;
76 pnd->pnd_fuse_nlookup = 0;
77 pnd->pnd_puffs_nlookup = 0;
78 pnd->pnd_pn = (puffs_cookie_t)pn;
80 (void)strlcpy(pnd->pnd_name, name, MAXPATHLEN);
82 pnd->pnd_name[0] = 0; /* anonymous for now */
83 TAILQ_INIT(&pnd->pnd_pcq);
85 puffs_pn_setpriv(pn, pnd);
96 struct perfuse_node_data *pnd;
98 if ((pnd = puffs_pn_getpriv(pn)) != NULL) {
99 if (pnd->pnd_all_fd != NULL)
100 free(pnd->pnd_all_fd);
102 if (pnd->pnd_dirent != NULL)
103 free(pnd->pnd_dirent);
106 if (pnd->pnd_flags & PND_OPEN)
109 if (!TAILQ_EMPTY(&pnd->pnd_pcq))
112 pnd->pnd_flags |= PND_INVALID;
115 free(pnd);
128 struct perfuse_node_data *pnd;
130 pnd = PERFUSE_NODE_DATA(opc);
133 if (pnd->pnd_flags & PND_WFH)
136 pnd->pnd_wfh = fh;
137 pnd->pnd_flags |= PND_WFH;
141 if (pnd->pnd_flags & PND_RFH)
144 pnd->pnd_rfh = fh;
145 pnd->pnd_flags |= PND_RFH;
154 struct perfuse_node_data *pnd;
156 pnd = PERFUSE_NODE_DATA(opc);
158 if (fh == pnd->pnd_rfh) {
159 if (!(pnd->pnd_flags & PND_RFH) && (fh != FUSE_UNKNOWN_FH))
163 pnd->pnd_rfh = FUSE_UNKNOWN_FH;
164 pnd->pnd_flags &= ~PND_RFH;
167 if (fh == pnd->pnd_wfh) {
168 if (!(pnd->pnd_flags & PND_WFH) && (fh != FUSE_UNKNOWN_FH))
172 pnd->pnd_wfh = FUSE_UNKNOWN_FH;
173 pnd->pnd_flags &= ~PND_WFH;
182 struct perfuse_node_data *pnd;
184 pnd = PERFUSE_NODE_DATA(opc);
187 if (pnd->pnd_flags & PND_WFH)
188 return pnd->pnd_wfh;
192 if (pnd->pnd_flags & PND_RFH)
193 return pnd->pnd_rfh;
195 if (pnd->pnd_flags & PND_WFH)
196 return pnd->pnd_wfh;
292 struct perfuse_node_data *pnd;
296 LIST_FOREACH(pnd, plist, pnd_nident)
297 if (pnd->pnd_nodeid == nodeid)
300 return pnd;
306 struct perfuse_node_data *pnd = PERFUSE_NODE_DATA(opc);
309 if (pnd->pnd_flags & PND_REMOVED)
311 __func__, pnd->pnd_name);
313 nidlist = perfuse_nidhash(ps, pnd->pnd_nodeid);
314 LIST_INSERT_HEAD(nidlist, pnd, pnd_nident);
322 struct perfuse_node_data *pnd = PERFUSE_NODE_DATA(opc);
324 if (pnd->pnd_flags & PND_REMOVED)
326 __func__, pnd->pnd_name);
328 LIST_REMOVE(pnd, pnd_nident);