aboutsummaryrefslogtreecommitdiff
path: root/src/libventi
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2006-07-23 02:36:04 +0000
committerrsc <devnull@localhost>2006-07-23 02:36:04 +0000
commit981672ae7e2b4a9c5f0ff27faeb0136c0ecf8bf2 (patch)
treefba2e4f95412687da6dc935cbda3978be8788a91 /src/libventi
parent1cba594e516aff09e61ec710a8c609385b11b165 (diff)
downloadplan9port-981672ae7e2b4a9c5f0ff27faeb0136c0ecf8bf2.tar.gz
plan9port-981672ae7e2b4a9c5f0ff27faeb0136c0ecf8bf2.tar.bz2
plan9port-981672ae7e2b4a9c5f0ff27faeb0136c0ecf8bf2.zip
fix cache bug (Eoghan Sherry)
Diffstat (limited to 'src/libventi')
-rw-r--r--src/libventi/cache.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/libventi/cache.c b/src/libventi/cache.c
index 796d8349..24cb8c2f 100644
--- a/src/libventi/cache.c
+++ b/src/libventi/cache.c
@@ -510,6 +510,7 @@ if(0)fprint(2, "vtblockput: %d: %x %d %d\n", getpid(), b->addr, c->nheap, b->ios
case BioVenti:
/*if(b->addr != NilBlock) print("blockput %d\n", b->addr); */
b->used = c->now++;
+ /* fall through */
case BioVentiError:
heapins(b);
break;
@@ -541,6 +542,7 @@ vtblockwrite(VtBlock *b)
memmove(b->score, score, VtScoreSize);
qlock(&c->lk);
+ b->addr = NilBlock; /* now on venti */
b->iostate = BioVenti;
h = (u32int)(score[0]|(score[1]<<8)|(score[2]<<16)|(score[3]<<24)) % c->nhash;
b->next = c->hash[h];