From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: From: erik quanstrom Date: Fri, 9 Jan 2009 08:39:40 -0500 To: 9fans@9fans.net In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] venti Topicbox-Message-UUID: 7deb6248-ead4-11e9-9d60-3106f5b1d025 > I do sometimes get errors like this from my fossil server: > could not write super block; waiting 10 seconds > blistAlloc: called on clean block > but I've been assuming they are benign. Am I wrong? i looked into this. /sys/src/cmd/fossil/cache.c:1210,1217 if(p->index < 0){ /* * We don't know how to temporarily undo * b's dependency on bb, so just don't write b yet. */ if(0) fprint(2, "blockWrite skipping %d %x %d %d; need to write %d %x %d\n", b->part, b->addr, b->vers, b->l.type, p->part, p->addr, bb->vers); return 0; } what if bb == b? it'd be interesting to see what that outputs with if(1). i think _cacheLocalLookup is finding the superblock itself. perhaps no write between snaps meaning that only the sb itself is dirty? - erik