From c0c06a67d2ba9904fcf94b44cc05af32e2a32f1b Mon Sep 17 00:00:00 2001 From: David Greenman Date: Thu, 24 Aug 1995 11:39:31 +0000 Subject: [PATCH] Added NFS_ASYNC kernel option. It only has an effect for NFSv2. --- sys/nfs/nfs_serv.c | 12 +++++++++++- sys/nfsserver/nfs_serv.c | 12 +++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/sys/nfs/nfs_serv.c b/sys/nfs/nfs_serv.c index 8eaaaa1571d0..21d1891ce37a 100644 --- a/sys/nfs/nfs_serv.c +++ b/sys/nfs/nfs_serv.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_serv.c 8.3 (Berkeley) 1/12/94 - * $Id: nfs_serv.c,v 1.22 1995/08/06 11:55:25 davidg Exp $ + * $Id: nfs_serv.c,v 1.23 1995/08/24 10:45:15 dfr Exp $ */ /* @@ -92,6 +92,12 @@ nfstype nfsv3_type[9] = { NFNON, NFREG, NFDIR, NFBLK, NFCHR, NFLNK, NFSOCK, NFFIFO, NFNON }; int nfsrvw_procrastinate = NFS_GATHERDELAY * 1000; +#ifdef NFS_ASYNC +int nfs_async = 1; +#else +int nfs_async; +#endif + /* * nfs v3 access service */ @@ -731,6 +737,8 @@ nfsrv_write(nfsd, slp, procp, mrq) nfsm_dissect(tl, u_long *, 4 * NFSX_UNSIGNED); off = (off_t)fxdr_unsigned(u_long, *++tl); tl += 2; + if (nfs_async) + stable = NFSV3WRITE_UNSTABLE; } retlen = len = fxdr_unsigned(long, *tl); cnt = i = 0; @@ -930,6 +938,8 @@ nfsrv_writegather(ndp, slp, procp, mrq) nfsm_dissect(tl, u_long *, 4 * NFSX_UNSIGNED); nfsd->nd_off = (off_t)fxdr_unsigned(u_long, *++tl); tl += 2; + if (nfs_async) + nfsd->nd_stable = NFSV3WRITE_UNSTABLE; } len = fxdr_unsigned(long, *tl); nfsd->nd_len = len; diff --git a/sys/nfsserver/nfs_serv.c b/sys/nfsserver/nfs_serv.c index 8eaaaa1571d0..21d1891ce37a 100644 --- a/sys/nfsserver/nfs_serv.c +++ b/sys/nfsserver/nfs_serv.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_serv.c 8.3 (Berkeley) 1/12/94 - * $Id: nfs_serv.c,v 1.22 1995/08/06 11:55:25 davidg Exp $ + * $Id: nfs_serv.c,v 1.23 1995/08/24 10:45:15 dfr Exp $ */ /* @@ -92,6 +92,12 @@ nfstype nfsv3_type[9] = { NFNON, NFREG, NFDIR, NFBLK, NFCHR, NFLNK, NFSOCK, NFFIFO, NFNON }; int nfsrvw_procrastinate = NFS_GATHERDELAY * 1000; +#ifdef NFS_ASYNC +int nfs_async = 1; +#else +int nfs_async; +#endif + /* * nfs v3 access service */ @@ -731,6 +737,8 @@ nfsrv_write(nfsd, slp, procp, mrq) nfsm_dissect(tl, u_long *, 4 * NFSX_UNSIGNED); off = (off_t)fxdr_unsigned(u_long, *++tl); tl += 2; + if (nfs_async) + stable = NFSV3WRITE_UNSTABLE; } retlen = len = fxdr_unsigned(long, *tl); cnt = i = 0; @@ -930,6 +938,8 @@ nfsrv_writegather(ndp, slp, procp, mrq) nfsm_dissect(tl, u_long *, 4 * NFSX_UNSIGNED); nfsd->nd_off = (off_t)fxdr_unsigned(u_long, *++tl); tl += 2; + if (nfs_async) + nfsd->nd_stable = NFSV3WRITE_UNSTABLE; } len = fxdr_unsigned(long, *tl); nfsd->nd_len = len;