Lines Matching refs:lp
364 struct nfs_lock_pid *lp, *lplru, *lplru_next, *mlp;
378 lp = NFS_LOCK_PID_HASH(pid)->lh_first;
379 for (; lp != NULL; lp = lp->lp_hash.le_next)
380 if (lp->lp_pid == pid) {
382 if (timevalcmp(&lp->lp_pid_start, &p->p_start, ==)) {
385 TAILQ_REMOVE(&nfs_lock_pid_lru, lp, lp_lru);
387 lp->lp_time = now.tv_sec;
388 TAILQ_INSERT_TAIL(&nfs_lock_pid_lru, lp, lp_lru);
394 LIST_REMOVE(lp, lp_hash);
395 lp->lp_valid = 0;
396 TAILQ_REMOVE(&nfs_lock_pid_lru, lp, lp_lru);
397 TAILQ_INSERT_HEAD(&nfs_lock_pid_lru, lp, lp_lru);
398 lp = NULL;
403 if (!lp)
404 lp = mlp;
406 /* if we don't have an lp and we've been asked to add it */
407 if ((error == ENOENT) && addflag && !lp) {
430 if (!lp) {
432 lp = lplru;
450 if (!lp) {
461 if ((error == ENOENT) && addflag && lp) {
463 lp->lp_pid = pid;
464 lp->lp_pid_start = p->p_start;
466 LIST_INSERT_HEAD(NFS_LOCK_PID_HASH(lp->lp_pid), lp, lp_hash);
467 lp->lp_valid = 1;
468 lp->lp_time = now.tv_sec;
469 TAILQ_INSERT_TAIL(&nfs_lock_pid_lru, lp, lp_lru);
473 if ((mlp && (lp != mlp)) || TAILQ_FIRST(&nfs_lock_pid_free)) {
475 if (mlp && (lp != mlp)) {
480 while ((lp = TAILQ_FIRST(&nfs_lock_pid_free))) {
481 TAILQ_REMOVE(&nfs_lock_pid_free, lp, lp_lru);
482 FREE(lp, M_TEMP);