Lines Matching defs:nw
1327 struct nlm_waiting_lock *nw;
1329 nw = malloc(sizeof(struct nlm_waiting_lock), M_NLM, M_WAITOK);
1330 nw->nw_lock = *lock;
1331 memcpy(&nw->nw_fh.fh_bytes, nw->nw_lock.fh.n_bytes,
1332 nw->nw_lock.fh.n_len);
1333 nw->nw_lock.fh.n_bytes = nw->nw_fh.fh_bytes;
1334 nw->nw_waiting = TRUE;
1335 nw->nw_vp = vp;
1337 TAILQ_INSERT_TAIL(&nlm_waiting_locks, nw, nw_link);
1340 return nw;
1346 struct nlm_waiting_lock *nw = handle;
1349 TAILQ_REMOVE(&nlm_waiting_locks, nw, nw_link);
1352 free(nw, M_NLM);
1358 struct nlm_waiting_lock *nw = handle;
1363 * nw->nw_waiting will be FALSE - in that case, don't sleep.
1367 if (nw->nw_waiting)
1368 error = msleep(nw, &nlm_global_lock, PCATCH, "nlmlock", timo);
1369 TAILQ_REMOVE(&nlm_waiting_locks, nw, nw_link);
1376 if (!nw->nw_waiting)
1384 if (nw->nw_waiting)
1389 free(nw, M_NLM);
1397 struct nlm_waiting_lock *nw;
1400 TAILQ_FOREACH(nw, &nlm_waiting_locks, nw_link) {
1401 if (nw->nw_vp == vp) {
1402 wakeup(nw);
1537 struct nlm_waiting_lock *nw;
1680 TAILQ_FOREACH(nw, &nlm_waiting_locks, nw_link) {
1681 wakeup(nw);
2297 struct nlm_waiting_lock *nw;
2312 TAILQ_FOREACH(nw, &nlm_waiting_locks, nw_link) {
2313 if (!nw->nw_waiting)
2315 if (argp->alock.svid == nw->nw_lock.svid
2316 && argp->alock.l_offset == nw->nw_lock.l_offset
2317 && argp->alock.l_len == nw->nw_lock.l_len
2318 && argp->alock.fh.n_len == nw->nw_lock.fh.n_len
2319 && !memcmp(argp->alock.fh.n_bytes, nw->nw_lock.fh.n_bytes,
2320 nw->nw_lock.fh.n_len)) {
2321 nw->nw_waiting = FALSE;
2322 wakeup(nw);