git: NFS - Fix numerous issues with NFS root mounts, primarily for vkernels
Matthew Dillon
dillon at crater.dragonflybsd.org
Fri Oct 9 18:04:34 PDT 2009
commit b9a7a2bd9ad2f9f23579d9721b65ab0daecd7486
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Fri Oct 9 17:56:34 2009 -0700
NFS - Fix numerous issues with NFS root mounts, primarily for vkernels
vkernels do not inherit BOOTP data from PXE and because of this a number
of code paths are run which are not run in non-vkernel NFS mounts.
* Fix a kernel memory check that was failing for vkernels and causing a
panic.
* Change the default BOOTP socket type from UDP to TCP.
* Adjust the default vfs.nfs.maxasyncbio value based on available mbuf
clusters. The value will be adjusted down for systems with small
memory footprints.
Otherwise NFS can trivially run the system out of mbufs.
* Fix bugs in the NFS BIO queueing code related to values of
vfs.nfs.maxasyncbio lower then the maximum.
* Remove the BOOTP_NFSV3 option when probing for the type of NFS mount
(V2 or V3). The BOOTP_NFSV3 kernel option is no longer required for
root mounts to default to NFSv3.
This also works around a bug related to large write()s with NFSv2 which
has not yet been found.
Reported-by: Rumko <rumcic at gmail.com>
Summary of changes:
sys/vfs/nfs/bootp_subr.c | 8 ++++----
sys/vfs/nfs/nfs_iod.c | 2 +-
sys/vfs/nfs/nfs_mountrpc.c | 14 +++++---------
sys/vfs/nfs/nfs_socket.c | 4 ++--
sys/vfs/nfs/nfs_subs.c | 8 ++++++++
sys/vfs/nfs/nfsmountrpc.h | 2 +-
sys/vm/pmap.h | 11 ++++++++++-
7 files changed, 31 insertions(+), 18 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b9a7a2bd9ad2f9f23579d9721b65ab0daecd7486
--
DragonFly BSD source repository
More information about the Commits
mailing list