ref: ba0621195e9b5f3605b5d0c95fc7a744f6666dbf
parent: d1babe27dc7f74c9b4e8ce464a837960122f7637
	author: Ori Bernstein <ori@eigenstate.org>
	date: Sun Sep 14 21:18:41 EDT 2025
	
gefs: improve assertions and logging
--- a/sys/src/cmd/gefs/blk.c
+++ b/sys/src/cmd/gefs/blk.c
@@ -178,21 +178,27 @@
Again:
s = (Arange*)avlprev(r);
-	if(s != nil && s->off+s->len == r->off){- avldelete(t, r);
- s->len = s->len + r->len;
- free(r);
- r = s;
- goto Again;
+	if(s != nil){+		if(s->off+s->len == r->off){+ avldelete(t, r);
+ s->len = s->len + r->len;
+ free(r);
+ r = s;
+ goto Again;
+ }
+ assert(s->off+s->len < r->off);
}
s = (Arange*)avlnext(r);
-	if(s != nil && r->off+r->len == s->off){- avldelete(t, r);
- s->off = r->off;
- s->len = s->len + r->len;
- free(r);
- r = s;
- goto Again;
+	if(s != nil){+		if(r->off+r->len == s->off){+ avldelete(t, r);
+ s->off = r->off;
+ s->len = s->len + r->len;
+ free(r);
+ r = s;
+ goto Again;
+ }
+ assert(r->off+r->len < s->off);
}
}
@@ -537,6 +543,7 @@
free(r);
}
a->used += Blksz;
+	tracex("blkalloc" , Zb, b, getcallerpc(&a));return b;
}
@@ -594,13 +601,13 @@
 {Blk *ob;
- ob = cacheget(bp);
- if(ob != nil)
-		fatal("double alloc: %#p %B %#p %B", b, b->bp, ob, ob->bp);b->type = ty;
b->bp.addr = bp;
b->bp.hash = -1;
b->bp.gen = gen;
+ ob = cacheget(bp);
+ if(ob != nil)
+		fatal("double alloc: %#p %B %#p %B", b, b->bp, ob, ob->bp); 	switch(ty){case Tdat:
b->data = b->buf;
@@ -642,7 +649,6 @@
b = cachepluck();
initblk(b, bp, t->memgen, Tdat);
b->alloced = getcallerpc(&t);
-	tracex("newblk" , b->bp, Tdat, -1);return b;
}
@@ -657,7 +663,6 @@
b = cachepluck();
initblk(b, bp, t->memgen, ty);
b->alloced = getcallerpc(&t);
-	tracex("newblk" , b->bp, ty, -1);return b;
}
--- a/sys/src/cmd/gefs/check.c
+++ b/sys/src/cmd/gefs/check.c
@@ -157,7 +157,6 @@
fprint(fd, "error loading %B\n", bp);
return 0;
}
-traceb("chklg", bp);b = getblk(bp, 0);
nb = b->logp;
dropblk(b);
--
⑨