freebsd-dev/sys/nfs
Doug Rabson 09c6884729 Various fixes from frank@fwi.uva.nl (Frank van der Linden) via
rick@snowhite.cis.uoguelph.ca:

1. Clear B_NEEDCOMMIT in nfs_write to make sure that dirty data is
correctly send to the server.  If a buffer was dirtied when it was in
the B_DELWRI+B_NEEDCOMMIT state, the state of the buffer was left
unchanged and when the buffer was later cleaned, just a commit rpc was
made to the server to complete the previous write.  Clearing
B_NEEDCOMMIT ensures that another write is made to the server.

2. If a server returned a server (for whatever reason) returned an
answer to a write RPC that implied that fewer bytes than requested
were written, bad things would happen.

3. The setattr operation passed on the atime in stead of the mtime to
the server. The fix is trivial.

4. XIDs always started at 0, but this caused some servers (older DEC
OSF/1 3.0 so I've been told) who had very long-lasting XID caches to
get confused if, after a reboot of a BSD client, RPCs came in with a
XID that had in the past been used before from that client. Patch is
to use the current time in seconds as a starting point for XIDs. The
patch below is not perfect, because it requires the root fs to be
mounted first. This is because of the check BSD systems do, comparing
FS time to system time.

Reviewed by:	Bruce Evans, Terry Lambert.
Obtained from:  frank@fwi.uva.nl (Frank van der Linden) via rick@snowhite.cis.uoguelph.ca
1996-07-16 10:19:45 +00:00
..
nfs_bio.c Various fixes from frank@fwi.uva.nl (Frank van der Linden) via 1996-07-16 10:19:45 +00:00
nfs_common.c Various fixes from frank@fwi.uva.nl (Frank van der Linden) via 1996-07-16 10:19:45 +00:00
nfs_common.h Some fixes found using gcc -Wall: 1995-08-24 10:45:16 +00:00
nfs_node.c Moved the fsnode MALLOC to before the call to getnewvnode() so that the 1996-06-12 03:37:57 +00:00
nfs_nqlease.c Add an option NFS_NOSERVER which saves 100K in the install kernel (or 1996-01-13 23:27:58 +00:00
nfs_serv.c Fixed a vnode reference leak in nfsrv_rename(). The target inode wasn't 1996-06-08 12:16:26 +00:00
nfs_socket.c Modify the kernel to use the new pr_usrreqs interface rather than the old 1996-07-11 16:32:50 +00:00
nfs_srvcache.c Add an option NFS_NOSERVER which saves 100K in the install kernel (or 1996-01-13 23:27:58 +00:00
nfs_subs.c Various fixes from frank@fwi.uva.nl (Frank van der Linden) via 1996-07-16 10:19:45 +00:00
nfs_syscalls.c #include <sys/filedesc.h> explicitly instead of depending on it being 1996-04-30 23:26:52 +00:00
nfs_vfsops.c removed: 1996-05-02 14:21:14 +00:00
nfs_vnops.c Various fixes from frank@fwi.uva.nl (Frank van der Linden) via 1996-07-16 10:19:45 +00:00
nfs.h Fix a bunch of spelling errors in the comment fields of 1996-01-30 23:02:38 +00:00
nfsdiskless.h Changes to support version 3 of the NFS protocol. 1995-06-27 11:07:30 +00:00
nfsm_subs.h Some fixes found using gcc -Wall: 1995-08-24 10:45:16 +00:00
nfsmount.h Staticize. 1995-12-17 21:14:36 +00:00
nfsnode.h Staticize. 1995-12-17 21:14:36 +00:00
nfsproto.h Changes to support version 3 of the NFS protocol. 1995-06-27 11:07:30 +00:00
nfsrtt.h Changes to support version 3 of the NFS protocol. 1995-06-27 11:07:30 +00:00
nfsrvcache.h Changes to support version 3 of the NFS protocol. 1995-06-27 11:07:30 +00:00
nfsv2.h Changes to support version 3 of the NFS protocol. 1995-06-27 11:07:30 +00:00
nqnfs.h Staticize. 1995-12-17 21:14:36 +00:00
rpcv2.h Changes to support version 3 of the NFS protocol. 1995-06-27 11:07:30 +00:00
xdr_subs.h Changes to support version 3 of the NFS protocol. 1995-06-27 11:07:30 +00:00