summaryrefslogtreecommitdiff
path: root/ufs/dir.c
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1995-12-14 18:14:33 +0000
committerMichael I. Bushnell <mib@gnu.org>1995-12-14 18:14:33 +0000
commit2bdb8d4acd52db4402914a154f0ecb42b5752f94 (patch)
treeafd61eb6d769f0163a4970715199cfe9a3d71d6f /ufs/dir.c
parent15657f11e9ddf548b3d47f90d3c3fd2f4096aee6 (diff)
(diskfs_lookup): If we are returning an error, then set the dirstat to
be ignored by drop_dirstat.
Diffstat (limited to 'ufs/dir.c')
-rw-r--r--ufs/dir.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ufs/dir.c b/ufs/dir.c
index 5906cb01..b2147007 100644
--- a/ufs/dir.c
+++ b/ufs/dir.c
@@ -269,7 +269,11 @@ diskfs_lookup (struct node *dp, char *name, enum lookup_type type,
if ((err && err != ENOENT)
|| !ds
|| ds->type == LOOKUP)
- vm_deallocate (mach_task_self (), buf, buflen);
+ {
+ vm_deallocate (mach_task_self (), buf, buflen);
+ if (ds)
+ ds->type = LOOKUP; /* set to be ignored by drop_dirstat */
+ }
else
{
ds->mapbuf = buf;