Lines Matching refs:pvd
118 struct pfs_vdata *pvd, *pvd2;
128 for (pvd = pfs_vncache; pvd; pvd = pvd->pvd_next) {
129 if (pvd->pvd_pn == pn && pvd->pvd_pid == pid &&
130 pvd->pvd_vnode->v_mount == mp) {
131 vp = pvd->pvd_vnode;
155 pvd = malloc(sizeof *pvd, M_PFSVNCACHE, M_WAITOK);
156 pvd->pvd_next = pvd->pvd_prev = NULL;
159 free(pvd, M_PFSVNCACHE);
162 pvd->pvd_pn = pn;
163 pvd->pvd_pid = pid;
164 (*vpp)->v_data = pvd;
195 pvd->pvd_vnode = *vpp;
200 free(pvd, M_PFSVNCACHE);
231 pvd->pvd_prev = NULL;
232 pvd->pvd_next = pfs_vncache;
233 if (pvd->pvd_next)
234 pvd->pvd_next->pvd_prev = pvd;
235 pfs_vncache = pvd;
246 struct pfs_vdata *pvd;
249 pvd = (struct pfs_vdata *)vp->v_data;
250 KASSERT(pvd != NULL, ("pfs_vncache_free(): no vnode data\n"));
251 if (pvd->pvd_next)
252 pvd->pvd_next->pvd_prev = pvd->pvd_prev;
253 if (pvd->pvd_prev) {
254 pvd->pvd_prev->pvd_next = pvd->pvd_next;
256 } else if (pfs_vncache == pvd) {
257 pfs_vncache = pvd->pvd_next;
262 free(pvd, M_PFSVNCACHE);
283 struct pfs_vdata *pvd;
287 pvd = pfs_vncache;
288 while (pvd != NULL) {
289 if (force || pvd->pvd_dead ||
290 (pn != NULL && pvd->pvd_pn == pn)) {
291 vnp = pvd->pvd_vnode;
299 pvd = pfs_vncache;
301 pvd = pvd->pvd_next;
321 struct pfs_vdata *pvd;
327 for (pvd = pfs_vncache, dead = 0; pvd != NULL; pvd = pvd->pvd_next)
328 if (pvd->pvd_pid == p->p_pid)
329 dead = pvd->pvd_dead = 1;