Commit Graph

62 Commits

Author SHA1 Message Date
christos
7af5edbdc3 Fix reversed test for version 3 that broke nfs version 2 mounts. 1997-07-18 17:31:46 +00:00
fvdl
43e1b9384f * Deal with servers that don't give complete FSINFO (like NT)
From Olaf Seibert <rhialto@polder.ubc.kun.nl> (PR 3687)
* Make an attempt to check the maximum filesize before attempting
  a write to the server, as write RPCs will typically happen
  asynchronously, and the process will not see the error.
  Fixes problems with unexpectly truncated files at 4G
* Pass up errors in nfs_writerpc correctly
1997-07-17 23:54:27 +00:00
mrg
295af85e9e remove swap configuration. 1997-06-12 17:12:17 +00:00
gwr
01adc15274 Minor reorganization of nfs_mountroot code to simplify BOOTP support.
The RPC/bootparamd calls to get the root and swap paths are now done
in nfs_boot_init() instead of nfs_boot_getfh(), so the latter now just
does the RPC/mountd call.  Also changed some panics into error returns.
1997-05-27 23:37:39 +00:00
fvdl
c7a919199a Silently clear NFSMNT_NOCONN if it's a TCP mount. 1997-02-22 02:48:26 +00:00
fvdl
64fcae7bcb * Make sure a new socket is created when switching to/from NOCONN with
a mount
* Add extra printf statements to hopefully get some more info on lockups,
  specifically when a send error is ignored.
1997-02-04 21:33:19 +00:00
thorpej
647fa23dc4 - Add nfs_mountroot to nfs_vfsops.
- Only attempt to mount NFS root on a DV_IFNET class device.
- If nfs_boot_init() failes, return the error code to the caller.
1997-01-31 03:00:31 +00:00
cgd
90688fce27 Change the second and third args to struct vfsops' (*vfs_mount)() to
'const char *', and 'void *', respectively.  The second arg is taken directly
from user arguments, and is const there, so must be const in the prototypes
and functions.  The third arg is also taken directly from user arguments.
It doesn't have to be changed, but since it's cleaner to keep the type
the same as the user arg's type, and I'm already making the 'const char *'
change...
1996-12-22 10:10:12 +00:00
thorpej
f02e8b3cf0 Make NFSSERVER work without NFSCLIENT. This is achieved by splitting
the client and server/shared data initialization into separate functions,
and calling the server/shared initialization directly from main().
Problem noted in PR #1308 (Kenneth Stailey) and PR #1780 (Chris Demetriou).
Fix suggested in PR #1780 by Chris Demetriou, and munged a bit by me,
and OK'd by Frank van der Linden <fvdl@netbsd.org>.
1996-12-03 00:22:43 +00:00
thorpej
aa25de69d1 NFS performance improvement from Doug Rabson/FreeBSD:
Improve the queuing algorithms used by NFS' asynchronous i/o.  The
existing mechanism uses a global queue for some buffers and the
vp->b_dirtyblkhd queue for others.  This turns sequential writes into
randomly ordered writes to the server, affecting both read and write
performance.  The existing mechanism also copes badly with hung
servers, tending to block accesses to other servers when all the iods
are waiting for a hung server.

The new mechanism uses a queue for each mount point.  All asynchronous
i/o goes through this queue which preserves the ordering of requests.
A simple mechanism ensures that the iods are shared out fairly between
active mount points.

Reviewed/integrated/approved by Frank van der Linden <fvdl@netbsd.org>
1996-12-02 22:55:39 +00:00
fvdl
735944405b Enhancements from Matthias Drochner:
- Try V3 first for diskless booting. Fall back to V2 if V3 fails.
	- optionally (option NFS_BOOT_TCP) try a TCP mount first
	  for diskless booting. Fall back to UDP if it fails.
	- Enable switching between UDP and TCP for remounts.
1996-10-20 13:13:22 +00:00
christos
bcf4552fb1 revert kprintf changes 1996-10-13 01:39:03 +00:00
christos
117a51c5a5 printf -> kprintf, sprintf -> ksprintf 1996-10-10 23:31:17 +00:00
pk
6e8ba625ef Ignore the mountpoint's `v_usecount' in nfs_unmount() if MNT_FORCE is on.
This takes care of two related problems:
	- `umount -f' wouldn't work if someone's working directory is
	  the filesystem root.
	- vfs_unmountall() would complain about a busy `/' on a
	  diskless setup.
1996-06-24 10:26:40 +00:00
cgd
d73abf41aa avoid unnecessary checks of m_get/MGET/etc.'s return values. When
they're called with M_WAIT, they are defined to never return NULL.
1996-06-14 22:21:12 +00:00
fvdl
2847784948 * Make mounts with symlinks work (needed for direct mounts with amd). PR #1917
* Never change the NQNFS flag and/or version when just doing an update mount.
  Fixes a problem that made diskless booting impossible under some
  circumstances.
1996-05-23 22:47:27 +00:00
fvdl
fa29f1090f Return earlier on error in nfs_statfs. Should fix problem reported by
both mrg and cgd.
1996-03-24 23:58:10 +00:00
christos
3fac949f8f Fix printf format strings. 1996-03-17 02:38:20 +00:00
fvdl
146f96c2ce Make readdirsize default to rsize if rsize is explicitly specified,
and readdirsize isn't.
1996-03-13 00:38:55 +00:00
fvdl
5ac7df1caf Bring in a merge of Rick Macklem's NFSv3 code from Lite2 1996-02-18 11:53:36 +00:00
gwr
b29ca3a272 Do the RPC to bootparamd a little later (just before the mountd call)
so that we do not ask for the "swap" path when swapping on disk.
1996-02-13 17:53:32 +00:00
christos
e4c93ec893 nfs prototype changes 1996-02-09 21:48:19 +00:00
jtc
299e1fe9df Rename struct timespec fields to conform to POSIX.1b 1996-02-01 00:31:05 +00:00
cgd
3e0efb4d89 changes to make this work on systems where pointers & longs are 64 bits.
This is mostly just changes to make the stuff that goes over the wire
use fixed-size types.
1995-12-19 23:07:11 +00:00
mycroft
5482957905 splnet --> splsoftnet 1995-08-12 23:59:09 +00:00
cgd
8f62c773e8 don't assume the f_fsnamelen is nul-truncated or longer than MFSNAMELEN 1995-06-18 14:45:14 +00:00
mycroft
41a1b362f8 Fix more off by one errors. 1995-06-02 19:50:11 +00:00
gwr
8f7b63df4e Print the "root/swap on ..." messages here.
Add NFS_BOOT_OPTIONS for things like NFSMNT_NOCONN.
1995-03-18 05:54:10 +00:00
mycroft
2f805fa51b copy*str() should use size_t. 1995-03-09 12:05:21 +00:00
mycroft
7b85c59a4e Turn mountlist into a CIRCLEQ, and handle setting and checking of MNT_ROOTFS
differently.
1995-01-18 06:15:17 +00:00
pk
e052143aab When updating an NFS mountpoint, we cannot just increase rsize' or wsize'
without also adjusting the corresponding socket buffers. We could probably
call sbrelease/sbreserve/soreserve ourselves without much harm, but we'd
have to duplicate much of the logic in nfs_connect(). In stead, blow the
socket away entirely and let nfs_connect() do its job again.
1994-08-23 09:31:00 +00:00
mycroft
f7c13d44bd More LIST/CIRCLEQ migration. 1994-08-18 22:47:43 +00:00
gwr
f23d6f0929 Add the option NFS_BOOT_RWSIZE to allow diskless boot configuration
to start with a reduced NFS read and write size (need for wd8003).
1994-08-14 03:35:27 +00:00
cgd
8814bea1a6 kill two errant spaces. 1994-08-12 03:49:24 +00:00
gwr
38cca96798 Diskless boot will now bind the local socket to a reserved port to
satisfy picky servers.  Also fix some missing initializations.
(Thanks to Chuck Cranor for PR#394 -- now fixed.)
1994-08-11 22:25:32 +00:00
mycroft
2896174213 Save FS type at mount time for some later tests. 1994-07-03 09:24:01 +00:00
cgd
fccfa11af5 New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:39:25 +00:00
gwr
ccb36b6b7d Minor nits: replace ... with ...
p->p_cred->pc_ucred	p->p_ucred
	x / DEV_BSIZE		x >> DEV_BSHIFT
1994-06-28 19:12:59 +00:00
pk
bccc2c3c1b straighten out diskless swap code somewhat. 1994-06-22 14:01:45 +00:00
gwr
b7692860e5 Fix false "hits" in the attribute cache when booting diskless.
(Yet another thing that breaks when time.tv_sec is near zero...)
1994-06-14 03:29:12 +00:00
gwr
0784b58d30 New diskless boot code (uses RARP, bootparamd). 1994-06-13 15:28:55 +00:00
mycroft
cde1d47595 Update to 4.4-Lite fs code, with local changes. 1994-06-08 11:33:09 +00:00
cgd
6dad8d7a8a put sync printing in one place 1994-05-18 00:35:07 +00:00
mycroft
0ae81ecb6b Trivial function name change. 1994-05-13 06:12:51 +00:00
mycroft
945e278f4e Cast some args to caddr_t. 1994-05-11 22:26:09 +00:00
cgd
4917d8beec make fs types consistent over new kernels. also, some proto foo. 1994-04-23 07:54:38 +00:00
cgd
3dda0064a5 Convert mount, vnode, and buf structs to use <sys/queue.h>. Also,
some knf and structure frobbing to do along with it.
1994-04-21 07:47:31 +00:00
glass
a3b042140f revised nfs diskless support. uses bootp+rpc to gather parameters 1994-04-18 06:18:05 +00:00
cgd
93159ea799 fs types are names now. 1994-04-14 04:05:45 +00:00
cgd
a61aa87590 make damn sure nothing's holding on the the mount point vnode 1994-04-10 01:22:23 +00:00