From fd91b45a7f75948ab760d89ee917485919b97c5d Mon Sep 17 00:00:00 2001 From: Thomas Bushnell Date: Thu, 3 Oct 1996 22:48:16 +0000 Subject: *** empty log message *** --- nfs/ChangeLog | 12 ++++++++++++ nfs/mount.c | 1 + nfs/nfs.h | 3 ++- nfs/ops.c | 12 +++++++++++- 4 files changed, 26 insertions(+), 2 deletions(-) diff --git a/nfs/ChangeLog b/nfs/ChangeLog index 6bc6fad2..dcb10cc8 100644 --- a/nfs/ChangeLog +++ b/nfs/ChangeLog @@ -1,9 +1,21 @@ +Thu Oct 3 12:04:36 1996 Thomas Bushnell, n/BSG + + * ops.c (netfs_attempt_write): If we get EINTR after having + already written something, return a short count. + + * ops.c (netfs_attempt_create_file): If verify_nonexistent returns + an error, bother to properly unlock NP before returning. + Mon Sep 30 15:45:31 1996 Miles Bader * main.c (OPT_RSIZE): Changed to 'R'. (OPT_WSIZE): Changed to 'W'. (doc): Add general description. +Thu Sep 26 14:03:07 1996 Thomas Bushnell, n/BSG + + * nfs.h (enum_t): New decl. + Wed Sep 18 13:03:22 1996 Miles Bader * main.c (netfs_append_args): Renamed from netfs_get_options. diff --git a/nfs/mount.c b/nfs/mount.c index ce1329e2..b4115324 100644 --- a/nfs/mount.c +++ b/nfs/mount.c @@ -20,6 +20,7 @@ #include "nfs.h" +#include #include #include #include diff --git a/nfs/nfs.h b/nfs/nfs.h index 758ba9e9..45a20022 100644 --- a/nfs/nfs.h +++ b/nfs/nfs.h @@ -16,8 +16,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* Needed for the rpcsvc include files to work. */ +/* Needed for the rpc include files to work. */ typedef int bool_t; /* Ick. */ +typedef int enum_t; /* Ick. */ #include #include diff --git a/nfs/ops.c b/nfs/ops.c index 5251d423..4e4f2930 100644 --- a/nfs/ops.c +++ b/nfs/ops.c @@ -505,6 +505,13 @@ netfs_attempt_write (struct netcred *cred, struct node *np, } } + if (err == EINTR && amt != *len) + { + *len -= amt; + free (rpcbuf); + return 0; + } + if (err) { *len = 0; @@ -945,7 +952,10 @@ netfs_attempt_create_file (struct netcred *cred, struct node *np, { err = verify_nonexistent (cred, np, name); if (err) - return err; + { + mutex_unlock (&np->lock); + return err; + } } p = nfs_initialize_rpc (NFSPROC_CREATE (protocol_version), -- cgit v1.2.3