summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1996-04-02 20:16:19 +0000
committerMichael I. Bushnell <mib@gnu.org>1996-04-02 20:16:19 +0000
commit793358b88389829d9f6cda6d0c47183cfab6017d (patch)
tree89169f84b8794ef01dbcfbe07681d43f75b35732
parent9229c169d95dd0c2d6ed594b056225f0d939e242 (diff)
(diskfs_purge_cache): If freeing node at LOOKUP_CACHE_TAIL, bump
LOOKUP_CACHE_TAIL back itself too. (_diskfs_purge_cache_deletion): Likewise.
-rw-r--r--libdiskfs/name-cache.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libdiskfs/name-cache.c b/libdiskfs/name-cache.c
index e4a7de91..38688777 100644
--- a/libdiskfs/name-cache.c
+++ b/libdiskfs/name-cache.c
@@ -114,6 +114,8 @@ diskfs_purge_cache (struct node *dp, struct node *np)
if (lc->next)
lc->next->prev = lc->prev;
nxt = lc->next;
+ if (lookup_cache_tail == lc)
+ lookup_cache_tail = lc->prev;
free (lc);
}
else
@@ -136,6 +138,8 @@ _diskfs_purge_cache_deletion (struct node *np)
if (lc->next)
lc->next->prev = lc->prev;
nxt = lc->next;
+ if (lookup_cache_tail == lc)
+ lookup_cache_tail = lc->prev;
free (lc);
}
else