1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-26 16:18:31 +00:00
freebsd/sys/nfsclient
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
..
bootp_subr.c Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
krpc_subr.c Add missing include to make LINT-VIMAGE build as well. 2009-12-27 10:10:38 +00:00
krpc.h
nfs_bio.c Do not synchronously start the nfsiod threads at all. The r212506 2010-10-18 19:06:46 +00:00
nfs_diskless.c Modify nfs_diskless.c to recognize the environment variable 2010-09-01 23:51:07 +00:00
nfs_kdtrace.c Simplify code a bit. 2010-02-18 22:10:55 +00:00
nfs_kdtrace.h
nfs_krpc.c - Move nfs_realign() from the NFS client to the shared NFS code and 2010-02-09 23:45:14 +00:00
nfs_nfsiod.c Do not synchronously start the nfsiod threads at all. The r212506 2010-10-18 19:06:46 +00:00
nfs_node.c Add dedicated routines to toggle lockmgr flags such as LK_NOSHARE and 2010-08-20 19:46:50 +00:00
nfs_subs.c Do not fork nfsiod directly from the vop methods. This causes LORs between 2010-09-12 19:06:08 +00:00
nfs_vfsops.c Move sys/nfsclient/nfs_lock.c into sys/nfs and build it as a separate 2010-07-24 22:11:11 +00:00
nfs_vnops.c Store the full timestamp when caching timestamps of files and 2010-09-07 14:29:45 +00:00
nfs.h Do not synchronously start the nfsiod threads at all. The r212506 2010-10-18 19:06:46 +00:00
nfsargs.h
nfsdiskless.h
nfsm_subs.h Remove the old kernel RPC implementation and the NFS_LEGACYRPC option. 2009-06-30 19:03:27 +00:00
nfsmount.h Add a timeout for the negative name cache entries in the NFS client. 2010-01-21 20:57:25 +00:00
nfsnode.h Do not synchronously start the nfsiod threads at all. The r212506 2010-10-18 19:06:46 +00:00
nfsstats.h
nlminfo.h