summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libnetfs/ChangeLog5
-rw-r--r--libnetfs/dir-lookup.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/libnetfs/ChangeLog b/libnetfs/ChangeLog
index 86e894ad..e24cbf9e 100644
--- a/libnetfs/ChangeLog
+++ b/libnetfs/ChangeLog
@@ -1,3 +1,8 @@
+Thu Mar 4 07:18:21 1999 Joel N. Weber II <devnull@theobromine.ai.mit.edu>
+
+ * dir-lookup.c (netfs_S_dir_lookup): Only set newnode to 1 if the
+ lookup does not need to be retried as a result of getting EEXIST.
+
1999-02-28 Roland McGrath <roland@baalperazim.frob.com>
* io-revoke.c (netfs_S_io_revoke): Use ports_class_iterate.
diff --git a/libnetfs/dir-lookup.c b/libnetfs/dir-lookup.c
index b9baeb06..29037542 100644
--- a/libnetfs/dir-lookup.c
+++ b/libnetfs/dir-lookup.c
@@ -1,5 +1,5 @@
/*
- Copyright (C) 1995, 96, 97, 98, 99 Free Software Foundation, Inc.
+ Copyright (C) 1995, 96, 97, 98, 1999 Free Software Foundation, Inc.
Written by Michael I. Bushnell, p/BSG.
This file is part of the GNU Hurd.
@@ -162,7 +162,6 @@ netfs_S_dir_lookup (struct protid *diruser,
mutex_lock (&dnp->lock);
error = netfs_attempt_create_file (diruser->user, dnp,
filename, mode, &np);
- newnode = 1;
/* If someone has already created the file (between our lookup
and this create) then we just got EEXIST. If we are
@@ -172,6 +171,8 @@ netfs_S_dir_lookup (struct protid *diruser,
mutex_lock (&dnp->lock);
goto retry_lookup;
}
+
+ newnode = 1;
}
/* All remaining errors get returned to the user */