freebsd-skq/sys/nfsserver
Matthew Dillon b5acbc8b9c Asynchronized client-side nfs_commit. NFS commit operations were
previously issued synchronously even if async daemons (nfsiod's) were
    available.  The commit has been moved from the strategy code to the doio
    code in order to asynchronize it.

    Removed use of lastr in preparation for removal of vnode->v_lastr.  It
    has been replaced with seqcount, which is already supported by the system
    and, in fact, gives us a better heuristic for sequential detection then
    lastr ever did.

    Made major performance improvements to the server side commit.  The
    server previously fsync'd the entire file for each commit rpc.  The
    server now bawrite()s only those buffers related to the offset/size
    specified in the commit rpc.

    Note that we do not commit the meta-data yet.  This works still needs
    to be done.

    Note that a further optimization can be done (and has not yet been done)
    on the client: we can merge multiple potential commit rpc's into a
    single rpc with a greater file offset/size range and greatly reduce
    rpc traffic.

Reviewed by:	Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
1999-09-17 05:57:57 +00:00
..
nfs_serv.c Asynchronized client-side nfs_commit. NFS commit operations were 1999-09-17 05:57:57 +00:00
nfs_srvcache.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
nfs_srvsock.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
nfs_srvsubs.c Seperate the export check in VFS_FHTOVP, exports are now checked via 1999-09-11 00:46:08 +00:00
nfs_syscalls.c Seperate the export check in VFS_FHTOVP, exports are now checked via 1999-09-11 00:46:08 +00:00
nfs.h Asynchronized client-side nfs_commit. NFS commit operations were 1999-09-17 05:57:57 +00:00
nfsm_subs.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
nfsproto.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
nfsrvcache.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
nfsrvstats.h Asynchronized client-side nfs_commit. NFS commit operations were 1999-09-17 05:57:57 +00:00