Konstantin Belousov 223073fd1a Do not synchronously start the nfsiod threads at all. The r212506
fixed the issues with file descriptor locks, but the same problems are
present for vnode lock/user map lock.

If the nfs_asyncio() cannot find the free nfsiod, schedule task to
create new nfsiod and return error. This causes fall back to the
synchronous i/o for nfs_strategy(), or does not start read at all in
the case of readahead. The caller that holds vnode and potentially
user map lock does not wait for kproc_create() to finish, preventing
the LORs.

The change effectively reverts r203072, because we never hand off the
request to newly created nfsiod thread anymore.

Reviewed by:	jhb
Tested by:	jhb, pluknet
MFC after:	3 weeks
2010-10-18 19:06:46 +00:00
..
2010-10-14 19:30:44 +00:00
2010-10-13 21:37:02 +00:00
2010-07-12 10:18:10 +00:00
2010-10-18 14:26:29 +00:00
2010-10-16 19:53:22 +00:00
2010-10-14 15:15:22 +00:00
2010-09-23 11:52:32 +00:00