summaryrefslogtreecommitdiff
path: root/nfs/ops.c
diff options
context:
space:
mode:
authorThomas Bushnell <thomas@gnu.org>1996-10-03 22:48:16 +0000
committerThomas Bushnell <thomas@gnu.org>1996-10-03 22:48:16 +0000
commitfd91b45a7f75948ab760d89ee917485919b97c5d (patch)
tree3e2e14d58ada631220f7d50c159ea1f16dff4995 /nfs/ops.c
parentb920112acdbe47b538695e0532b2036223446853 (diff)
*** empty log message ***
Diffstat (limited to 'nfs/ops.c')
-rw-r--r--nfs/ops.c12
1 files changed, 11 insertions, 1 deletions
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),