NFS4_ASYNC_QUEUE
mi.mi_max_threads, mi.mi_threads[NFS4_ASYNC_QUEUE]);
if (mi->mi_threads[NFS4_ASYNC_QUEUE] <
mi->mi_threads[NFS4_ASYNC_QUEUE]++;
nfs4_async_common_start(vfsp, NFS4_ASYNC_QUEUE);
if (async_queue == NFS4_ASYNC_QUEUE) {
async_work_cv = &mi->mi_async_work_cv[NFS4_ASYNC_QUEUE];
if (mi->mi_threads[NFS4_ASYNC_QUEUE] == 0 &&
while (mi->mi_threads[NFS4_ASYNC_QUEUE] != 0 ||
while (mi->mi_threads[NFS4_ASYNC_QUEUE] != 0 ||
ASSERT(mi->mi_threads[NFS4_ASYNC_QUEUE] == 0 &&
cv_destroy(&mi->mi_async_work_cv[NFS4_ASYNC_QUEUE]);
mi->mi_async_curr[NFS4_ASYNC_QUEUE] =
cv_init(&mi->mi_async_work_cv[NFS4_ASYNC_QUEUE], NULL, CV_DEFAULT,
if (CV_HAS_WAITERS(&work_cv[NFS4_ASYNC_QUEUE])) \
cv_signal(&work_cv[NFS4_ASYNC_QUEUE]); \
cv_broadcast(&work_cv[NFS4_ASYNC_QUEUE]); \