Lines Matching defs:niod
243 nfsiod_terminate(struct nfsiod *niod)
247 if (niod)
248 FREE(niod, M_TEMP);
250 printf("nfsiod: terminating without niod\n");
259 struct nfsiod *niod;
262 MALLOC(niod, struct nfsiod *, sizeof(struct nfsiod), M_TEMP, M_WAITOK);
263 if (!niod) {
271 bzero(niod, sizeof(*niod));
273 TAILQ_INSERT_HEAD(&nfsiodfree, niod, niod_link);
275 error = msleep0(niod, nfsiod_mutex, PWAIT | PDROP, "nfsiod", NFS_ASYNCTHREADMAXIDLE*hz, nfsiod_continue);
279 if ((niod = TAILQ_LAST(&nfsiodfree, nfsiodlist)))
280 TAILQ_REMOVE(&nfsiodfree, niod, niod_link);
281 nfsiod_terminate(niod);
318 struct nfsiod *niod;
325 niod = TAILQ_FIRST(&nfsiodwork);
326 if (!niod) {
329 if ((niod = TAILQ_LAST(&nfsiodfree, nfsiodlist)))
330 TAILQ_REMOVE(&nfsiodfree, niod, niod_link);
331 nfsiod_terminate(niod);
334 TAILQ_REMOVE(&nfsiodwork, niod, niod_link);
337 while ((nmp = niod->niod_nmp)) {
368 niod->niod_nmp = NULL;
373 if (!niod->niod_nmp && !TAILQ_EMPTY(&nfsiodmounts)) {
374 niod->niod_nmp = TAILQ_FIRST(&nfsiodmounts);
375 TAILQ_REMOVE(&nfsiodmounts, niod->niod_nmp, nm_iodlink);
377 if (niod->niod_nmp)
382 TAILQ_INSERT_HEAD(&nfsiodfree, niod, niod_link);
383 error = msleep0(niod, nfsiod_mutex, PWAIT | PDROP, "nfsiod", NFS_ASYNCTHREADMAXIDLE*hz, nfsiod_continue);
387 if ((niod = TAILQ_LAST(&nfsiodfree, nfsiodlist)))
388 TAILQ_REMOVE(&nfsiodfree, niod, niod_link);
390 nfsiod_terminate(niod);