summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>1996-01-15 15:28:22 +0000
committerMiles Bader <miles@gnu.org>1996-01-15 15:28:22 +0000
commit63d1e5b7402819d22e61a96dadc2486ef1c35ddd (patch)
treed3e260db8ee45572f42ab73cf9ab262422dda657
parent721e76bbab29afa823f2ef7a4bf13a23005a207c (diff)
(diskfs_lookup): Patch from ufs/dir.c: If we are returning an error, then set
the dirstat to be ignored by drop_dirstat.
-rw-r--r--ext2fs/dir.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ext2fs/dir.c b/ext2fs/dir.c
index 4523071d..dc6cfc37 100644
--- a/ext2fs/dir.c
+++ b/ext2fs/dir.c
@@ -276,7 +276,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;