Commit Diff


commit - 1cba594e516aff09e61ec710a8c609385b11b165
commit + 981672ae7e2b4a9c5f0ff27faeb0136c0ecf8bf2
blob - 796d834926ca18d5cb9674f30ded23eb877e0cc0
blob + 24cb8c2f3e77b5b27a7e193a6d2854740343ca2a
--- src/libventi/cache.c
+++ src/libventi/cache.c
@@ -510,6 +510,7 @@ if(0)fprint(2, "vtblockput: %d: %x %d %d\n", getpid(),
 	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];