freebsd-src/sys/nfsclient
Matthew Dillon 54986abd15 Fix at least one source of the continued 'NFS append race'. close()
was calling nfs_flush() and then clearing the NMODIFIED bit.  This is
    not legal since there might still be dirty buffers after the nfs_flush
    (for example, pending commits).  The clearing of this bit in turn prevented
    a necessary vinvalbuf() from occuring leaving left over dirty buffers
    even after truncating the file in a new operation.  The fix is to
    simply not clear NMODIFIED.

    Also added a sysctl vfs.nfs.nfsv3_commit_on_close which, if set to 1,
    will cause close() to do a stage 1 write AND a stage 2 commit
    synchronously.  By default only the stage 1 write is done synchronously.

Reviewed by:	Alfred Perlstein <bright@wintelcom.net>
2000-01-05 00:32:18 +00:00
..
bootp_subr.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
krpc_subr.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
krpc.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
nfs_bio.c Fix two problems: First, fix the append seek position race that can 1999-12-14 19:07:54 +00:00
nfs_nfsiod.c M_PREPEND-related cleanups (unregisterifying struct mbuf *s). 1999-12-19 01:55:37 +00:00
nfs_node.c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
nfs_socket.c M_PREPEND-related cleanups (unregisterifying struct mbuf *s). 1999-12-19 01:55:37 +00:00
nfs_subs.c make getfh a standard syscall instead of dependant on having 1999-12-21 20:21:12 +00:00
nfs_vfsops.c Second pass commit to introduce new ACL and Extended Attribute system 1999-12-19 06:08:07 +00:00
nfs_vnops.c Fix at least one source of the continued 'NFS append race'. close() 2000-01-05 00:32:18 +00:00
nfs.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
nfsargs.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
nfsdiskless.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
nfsm_subs.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
nfsmount.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
nfsnode.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
nfsstats.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00