code: mafs

Download patch

ref: 84d66beb90246495861436c041297528298ba74f
parent: 88a739c07b9bbf452a5cbfa1a33cbe7730aaae37
author: 9ferno <gophone2015@gmail.com>
date: Thu Nov 24 04:45:41 EST 2022

working tests

--- a/9p.c
+++ b/9p.c
@@ -5,8 +5,8 @@
 extern u32 mpsrvpid;
 extern u8 synchronouswrites;
 
-s32 readfile(u64 dblkno, u64 qpath, char *rbuf, s32 rbufsize, u64 offset, Req *req);
-s32 writefile(u64 dblkno, u64 qpath, s16 uid, char *wbuf, s32 wbufsize, u64 offset, Req *req);
+s32 readfile(u64 dblkno, u64 qpath, char *rbuf, s32 rbufsize, u64 offset);
+s32 writefile(u64 dblkno, u64 qpath, s16 uid, char *wbuf, s32 wbufsize, u64 offset);
 s32 writeallappend(Iobuf *dbuf, Dentry *d, u64 dblkno);
 
 Aux*
@@ -59,7 +59,6 @@
 fsdestroyfid(Fid *fid)
 {
 	Tlock *t;
-	Iobuf *dbuf;
 
 	if((fid->qid.type & QTAUTH) != 0){
 		authdestroy(fid);
@@ -91,17 +90,17 @@
 		}
 		qunlock(&tlock);
 	}
-	dbuf = getmetachk(((Aux*)fid->aux)->dblkno,
+/*	dbuf = getmetachk(((Aux*)fid->aux)->dblkno,
 						Bwritable, Tdentry, fid->qid.path);
 	if(dbuf != nil){
 		writeallappend(dbuf, (Dentry*)dbuf->new, ((Aux*)fid->aux)->dblkno);
 		putbuf(dbuf, 1);
-	}
+	} */
 	freeaux(fid->aux);
 }
 
 static void
-fsmkdir(Dentry *d, Dir *dir, char *buf)
+fsmkdir(Dentry *d, Dir *dir, char *buf, u64 appendsize)
 {
 	memset(dir, 0, sizeof(*dir));
 	dir->qid = (Qid){d->path, d->version, (d->mode&DMDIR)? QTDIR : QTFILE};
@@ -108,7 +107,7 @@
 	dir->mode = (d->mode & 0777) | (dir->qid.type << 24);
 	dir->atime = time(nil);
 	dir->mtime = d->mtime/Nsec; /* ns to seconds */
-	dir->length = d->size;
+	dir->length = d->size+appendsize;
 	if(dir->qid.type & QTDIR)
 		dir->length = 0;
 	if(buf == nil){
@@ -144,7 +143,7 @@
 	d = (Dentry*)dbuf->cur;
 	/* nothing to do for already zero'ed out slots */
 	if(d->path != Qpnone)
-		fsmkdir(d, &req->d, nil);
+		fsmkdir(d, &req->d, nil, dbuf->appendsize);
 
 	putbuf(dbuf, 0);
 	respond(req, nil);
@@ -288,7 +287,7 @@
 			((Aux*)req->fid->aux)->dri++;
 		}while(d->path == 0);
 
-		fsmkdir(d, &dir, nbuf);
+		fsmkdir(d, &dir, nbuf, cbuf->appendsize);
 		req->ofcall.count = n = convD2M(&dir, (u8*)req->ofcall.data, req->ifcall.count);
 		req->ofcall.offset = req->ifcall.offset+n;
 		if(n == 0)
@@ -298,9 +297,12 @@
 		return;
 	}
 
-	readfile(((Aux*)req->fid->aux)->dblkno, req->fid->qid.path,
+	n = readfile(((Aux*)req->fid->aux)->dblkno, req->fid->qid.path,
 				 req->ofcall.data, req->ifcall.count,
-				 req->ifcall.offset, req);
+				 req->ifcall.offset);
+	req->ofcall.count = n;
+	req->ofcall.offset = req->ifcall.offset+n;
+	respond(req, nil);
 }
 
 
@@ -307,6 +309,8 @@
 static void
 fswrite(Req *req)
 {
+	s32 rv;
+
 	if(shuttingdown){
 		respond(req, errstring[Eshutdown]);
 		return;
@@ -327,10 +331,19 @@
 		return;
 	}
 
-	writefile(((Aux*)req->fid->aux)->dblkno, req->fid->qid.path,
+	rv = writefile(((Aux*)req->fid->aux)->dblkno, req->fid->qid.path,
 					((Aux*)req->fid->aux)->uid,
 					req->ifcall.data, req->ifcall.count,
-					req->ifcall.offset, req);
+					req->ifcall.offset);
+	if(rv == -3)
+		respond(req, errstring[Efull]);
+	else if(rv == -1 || rv == -2)
+		respond(req, errstring[Ephase]);
+	else{
+		req->ofcall.count = rv;
+		req->ofcall.offset = req->ifcall.offset+rv;
+		respond(req, nil);
+	}
 }
 
 static void
@@ -524,7 +537,7 @@
 		respond(req, errstring[Ephase]);
 		return;
 	}
-	dparent = (Dentry*)dbuf->cur;
+	dparent = (Dentry*)dbuf->new;
 	if(canaccess(((Aux*)req->fid->aux)->uid, dparent, DMWRITE) == 0){
 		respond(req, errstring[Eperm]);
 		return;
@@ -606,7 +619,7 @@
 				respond(req, errstring[Eaccess]);
 				return;
 			}
-			dchild->path = newqpath();
+			dchild->qpath = dchild->path = newqpath();
 			dchild->version = 0;
 			strncpy(dchild->name, req->ifcall.name, Namelen);
 			fid->qid = (Qid){dchild->path, 0, (perm&DMDIR) ? QTDIR : QTFILE};
@@ -966,12 +979,17 @@
 void
 shutdown(void)
 {
-//	u64 n;
+	u64 n;
 /*	User *u, *v; */
 
 	if(chatty9p > 1)
 		dprint("shutdown\n");
 	shuttingdown = 1;
+	while((n=sync()) > 0){
+		// if(chatty9p > 1)
+		dprint("shutdown: sync() finds %llud locked blocks\n", n);
+		sleep(1000);
+	}
 	fsok(1);
 //	showextents(&frees);
 //	dprint("&buf.isempty %#p\n", &buf.isempty);
@@ -1241,7 +1259,7 @@
 	return filesize;
 }
 s32
-readfile(u64 dblkno, u64 qpath, char *rbuf, s32 rbufsize, u64 offset, Req *req)
+readfile(u64 dblkno, u64 qpath, char *rbuf, s32 rbufsize, u64 offset)
 {
 	Dentry *d;
 	s64 tosend, sent, filesize;
@@ -1249,6 +1267,7 @@
 	Iobuf *dbuf, *buf;
 	u64 datablocksize;
 
+	sent = 0;
 	dbuf = getmetachk(dblkno, Breadonly, Tdentry, qpath);
 	if(dbuf == nil)
 		return 0;
@@ -1255,21 +1274,18 @@
 	d = (Dentry*)dbuf->cur;
 	filesize = d->size+dbuf->appendsize;
 
-	if(offset >= filesize){
-		putbuf(dbuf, 0);
-		return 0;
-	}
+	if(offset >= filesize)
+		goto readend;
 	if(filesize < Ddatasize){
 		n = min(filesize-offset, rbufsize);
 		memcpy(rbuf, d->buf+offset, n);
-		putbuf(dbuf, 0);
-		return n;
+		sent = n;
+		goto readend;
 	}
 	if(filesize - offset > rbufsize)
 		tosend = rbufsize;
 	else
 		tosend = filesize - offset;
-
 	for(sent = 0; sent < tosend && offset+sent < d->size; ){
 		buf = getdatablkat(d, (offset+sent)/Maxdatablocksize);
 		if(buf == nil){
@@ -1291,11 +1307,7 @@
 		memcpy(rbuf+sent, dbuf->append+(offset+sent-d->size), n);
 		sent += n;
 	}
-	if(req != nil){
-		req->ofcall.count = sent;
-		req->ofcall.offset = req->ifcall.offset+sent;
-		respond(req, nil);
-	}
+readend:
 	putbuf(dbuf, 0);
 	return sent;
 }
@@ -1372,10 +1384,13 @@
 		if(newbuf == nil)
 			return -1;
 		newblkno = newbuf->blkno;
+		newbuf->io->dblkno = dblkno;
 
 		/* add the contents of append to those new blocks */
 		memcpy(newbuf->io->buf, dbuf->append, dbuf->appendsize);
 
+		putbuf(newbuf, 1);
+
 		/* add this newly allocated blocks to the Dentry */
 		if(addrelative(d, dblkno, d->size/Maxdatablocksize, newblkno) == 0){
 			panic("could not write Tdata block\n");
@@ -1384,7 +1399,6 @@
 		}
 		d->size += dbuf->appendsize;
 		dbuf->appendsize = 0;
-		putbuf(newbuf, 1);
 		return 1;
 
 	}else if(d->size%Maxdatablocksize > 0 &&
@@ -1399,6 +1413,7 @@
 		if(newbuf == nil)
 			return -1;
 		newblkno = newbuf->blkno;
+		newbuf->io->dblkno = dblkno;
 		newbufsize = 0;
 
 		/* read from the last block */
@@ -1424,6 +1439,9 @@
 		/* move the left over append stuff to the front */
 		memmove(dbuf->append, dbuf->append+howmuch, dbuf->appendsize-howmuch);
 
+		dbuf->appendsize -= howmuch;
+		putbuf(newbuf, 1);
+
 		/* add this newly allocated blocks to the Dentry */
 		if(addrelative(d, dblkno, d->size/Maxdatablocksize, newblkno) == 0){
 			panic("could not write Tdata block\n");
@@ -1430,13 +1448,11 @@
 			freeblocks(newblkno, Maxdatablockunits, Tdata, d->path);
 			return -2;
 		}
-		d->size += howmuch;
-		dbuf->appendsize -= howmuch;
-		putbuf(newbuf, 1);
 
 		/* free the old last blocks */
 		if(oldbuf)
 			putbuffree(oldbuf);
+		d->size += howmuch;
 		return 1;
 	}
 	return 0;
@@ -1458,8 +1474,11 @@
 		return 1;
 
 	rv = 0;
-	if((d->size%Maxdatablocksize)+dbuf->appendsize >= Maxdatablocksize)
+	if((d->size%Maxdatablocksize)+dbuf->appendsize >= Maxdatablocksize){
 		rv = writefullappend(dbuf, d, dblkno);
+		if(rv < 0)
+			return rv;
+	}
 
 	if(rv < 0)
 		return rv;
@@ -1474,11 +1493,13 @@
 		if(newbuf == nil)
 			return -1;
 		newblkno = newbuf->blkno;
+		newbuf->io->dblkno = dblkno;
 
 		/* add the contents of append to those new blocks */
 		memcpy(newbuf->io->buf, dbuf->append, dbuf->appendsize);
-		newbuf->io->len = nlastdatablocks(dbuf->appendsize);
 
+		putbuf(newbuf, 1);
+
 		/* add this newly allocated blocks to the Dentry */
 		if(addrelative(d, dblkno, d->size/Maxdatablocksize, newblkno) == 0){
 			panic("could not write Tdata block\n");
@@ -1487,7 +1508,6 @@
 		}
 		d->size += dbuf->appendsize;
 		dbuf->appendsize = 0;
-		putbuf(newbuf, 1);
 		return 1;
 	}
 
@@ -1498,6 +1518,7 @@
 		return -1;
 	newblkno = newbuf->blkno;
 	newbufsize = 0;
+	newbuf->io->dblkno = dblkno;
 
 	/* read from the last block */
 	/* copy that to the new allocated blocks */
@@ -1522,6 +1543,8 @@
 
 	/* nothing left in append to move to the front */
 
+	putbuf(newbuf, 1);
+
 	/* add this newly allocated blocks to the Dentry */
 	if(addrelative(d, dblkno, d->size/Maxdatablocksize, newblkno) == 0){
 		panic("could not write Tdata block\n");
@@ -1534,23 +1557,9 @@
 		putbuffree(oldbuf);
 	d->size += dbuf->appendsize;
 	dbuf->appendsize = 0;
-	putbuf(newbuf, 1);
 	return 1;
 }
 
-s32
-newappend(Iobuf *dbuf, u64 dblkno, u64 path)
-{
-	dbuf->append = (Data*)allocmemunits(Maxdatablockunits);
-	if(dbuf->append == nil)
-		return -1;
-	dbuf->appendsize = 0;
-	dbuf->append->tag = Tdata;
-	dbuf->append->len = Maxdatablockunits;
-	dbuf->append->dblkno = dblkno;
-	dbuf->append->path = path;
-	return 1;
-}
 /*
 	3 scenarios
 		offset < filesize && offset+wbufsize <= filesize
@@ -1563,7 +1572,7 @@
 			data blocks from offset until offset+wbufsize
  */
 s32
-writefile(u64 dblkno, u64 qpath, s16 uid, char *wbuf, s32 wbufsize, u64 offset, Req *req)
+writefile(u64 dblkno, u64 qpath, s16 uid, char *wbuf, s32 wbufsize, u64 offset)
 {
 	Dentry *d;
 	s64 written;
@@ -1576,11 +1585,11 @@
 		return 0;
 	d = dbuf->new;
 	d->muid = uid;
-	rv = dowrite = 0;
+	rv = dowrite = written = 0;
 	// odentry(d);
 
 	// little data, stuff it in the Dentry
-	if(d->size<=Ddatasize && offset+wbufsize <= Ddatasize){
+	if(d->size+dbuf->appendsize<=Ddatasize && offset+wbufsize <= Ddatasize){
 		memcpy(d->buf+offset, wbuf, wbufsize);
 		if(offset+wbufsize > d->size)
 			d->size = offset+wbufsize;
@@ -1589,8 +1598,15 @@
 		goto writeend;
 	}
 	// more data, relocate it to a proper data block
-	if(d->size > 0 && d->size <= Ddatasize && offset+wbufsize > Ddatasize){
-		newappend(dbuf, dblkno, d->path);
+	if(d->size+dbuf->appendsize <= Ddatasize && offset+wbufsize > Ddatasize){
+		if(dbuf->append == nil){
+			dbuf->append = allocmemunits(Maxdatablockunits);
+			if(dbuf->append == nil){
+				rv = -1;
+				goto writeend;
+			}
+			dbuf->appendsize = 0;
+		}
 		memcpy(dbuf->append, d->buf, d->size);
 		dbuf->appendsize = d->size;
 		d->size = 0;
@@ -1613,9 +1629,14 @@
 			if(chatty9p > 1)
 				dprint("writefile(): blank blocks until offset\n");
 
-			if(dbuf->append == nil)
-				if((rv = newappend(dbuf, dblkno, d->path)) < 0)
+			if(dbuf->append == nil){
+				dbuf->append = allocmemunits(Maxdatablockunits);
+				if(dbuf->append == nil){
+					rv = -1;
 					goto writeend;
+				}
+				dbuf->appendsize = 0;
+			}
 			n = min(Maxdatablocksize, offset-d->size);
 			dbuf->appendsize = n;
 
@@ -1642,9 +1663,8 @@
 		}else if(offset+written >= d->size &&
 					offset+written < d->size+dbuf->appendsize){
 			/* changing append contents */
-			n = min(dbuf->appendsize-(offset+written),wbufsize-written);
-			memcpy(dbuf->append+dbuf->appendsize, wbuf+written, n);
-			dbuf->appendsize += n;
+			n = min(d->size+dbuf->appendsize-(offset+written),wbufsize-written);
+			memcpy(dbuf->append+(offset+written-d->size), wbuf+written, n);
 			written += n;
 
 		}else if(offset+written >= d->size+dbuf->appendsize){
@@ -1651,9 +1671,14 @@
 			/* assuming that wbufsize <= append */
 			/* append data, changes file size
 				data blocks from offset until offset+wbufsize */
-			if(dbuf->append == nil)
-				if((rv = newappend(dbuf, dblkno, d->path)) < 0)
+			if(dbuf->append == nil){
+				dbuf->append = allocmemunits(Maxdatablockunits);
+				if(dbuf->append == nil){
+					rv = -1;
 					goto writeend;
+				}
+				dbuf->appendsize = 0;
+			}
 			n = min(Maxdatablocksize-dbuf->appendsize, wbufsize-written);
 			memcpy(dbuf->append+dbuf->appendsize, wbuf+written, n);
 			dbuf->appendsize += n;
@@ -1662,25 +1687,19 @@
 		else
 			panic("writefile: should not be here");
 
-		if(dbuf->appendsize == Maxdatablocksize)
+		if(dbuf->appendsize == Maxdatablocksize){
 			dowrite = 1;
 			if((rv=writefullappend(dbuf, d, dblkno)) < 0)
 				goto writeend;
+		}
 	}
 
 writeend:
 	d->mtime = nsec();
-	if(req != nil){
-		if(rv == -3)
-			respond(req, errstring[Efull]);
-		else if(rv == -1 || rv == -2)
-			respond(req, errstring[Ephase]);
-		else{
-			req->ofcall.count = written;
-			req->ofcall.offset = req->ifcall.offset+written;
-			respond(req, nil);
-		}
-	}
 	putbuf(dbuf, dowrite);
+
+	/* How will this work for partial writes? */
+	if(rv < 0)
+		return rv;
 	return written;
 }
--- a/all.h
+++ b/all.h
@@ -24,6 +24,8 @@
 	 */
 	Ncollisions = 3,	/* soft limit after which we start reusing older Iobuf's */
 
+	Iounit	= Maxdatablocksize-IOHDRSZ,
+
 	/* for dirty */
 	Add = 1,
 	Remove
@@ -85,8 +87,9 @@
 	Metadataunit *cur;	/* this has the current Indirect or Dentry values */
 	Metadataunit *new;	/* use this unit for Indirect or Dentry changes */
 
-	Data *append;		/* appended data added not yet written to disk */
+	u8 *append;		/* appended data added not yet written to disk */
 	u64 appendsize;
+	u8 freshalloc;	/* uninitialized blocks on the disk */
 };
 
 extern	u64	nbuckets;		/* n hash buckets for i/o */
@@ -143,12 +146,14 @@
 Iobuf*	getdatablkat(Dentry *d, u64 reli);
 void	loadfrees(u64 dblkno);
 Aux*	newaux(u64 addr, u16 uid);
-s32		readfile(u64 dblkno, u64 qpath, char *rbuf, s32 rbufsize, u64 offset, Req *req);
+s32		readfile(u64 dblkno, u64 qpath, char *rbuf, s32 rbufsize, u64 offset);
 s32		readfilesize(u64 dblkno, u64 qpath);
 void	savefrees(u64 dblkno);
 void	truncatefile(u64 qpath, u64 dblkno, s16 uid);
 s32		writeallappend(Iobuf *dbuf, Dentry *d, u64 dblkno);
-s32		writefile(u64 dblkno, u64 qpath, s16 uid, char *wbuf, s32 wbufsize, u64 offset, Req *req);
+s32		writefile(u64 dblkno, u64 qpath, s16 uid, char *wbuf, s32 wbufsize, u64 offset);
+s8		flush(Iobuf *b);
+u64		sync(void);
 
 /* user access routines */
 int	byname(void*, void*);
@@ -187,6 +192,5 @@
 int	dprint(char *fmt, ...);
 int	prime(long);
 u64	min(u64 a, u64 b);
-void	sync(void);
 
 #pragma varargck	argpos	panic	1
--- a/config.c
+++ b/config.c
@@ -111,6 +111,6 @@
 		panic("config needs more blocks");
 	buf->new->size = n;
 	if(chatty9p > 1)
-		dprint("config:\n%s", buf->cur->buf);
+		dprint("config:\n%s", buf->new->buf);
 	putbuf(buf, 1);
 }
--- a/ctl.c
+++ b/ctl.c
@@ -18,8 +18,13 @@
 int
 cmdsync(Cmdbuf *)
 {
-//	sync();
-	dprint("sync TODO\n");
+	u64 n;
+
+	while((n=sync()) > 0){
+		// if(chatty9p > 1)
+		dprint("shutdown: sync() finds %llud locked blocks\n", n);
+		sleep(1000);
+	}
 	return 0;
 }
 
--- a/dat.h
+++ b/dat.h
@@ -149,7 +149,6 @@
 	/* max possible size of data that can be stuffed into a Dentry */
 	Ddatasize = Blocksize -sizeof(u64 /* path */) -sizeof(Dentryhdr),
 	Maxdatablocksize = Maxdatablockunits*Blocksize -sizeof(Datahdr) -sizeof(u64 /* trailing path */),
-	Iounit	= Maxdatablocksize,	/* in bytes, TODO adjust for the 9p header size? */
 };
 
 #pragma pack on
--- a/dentry.c
+++ b/dentry.c
@@ -1,5 +1,27 @@
 #include	"all.h"
 
+s8
+flush(Iobuf *b)
+{
+	if(b->xiobuf[0] != Tdentry)
+		return 0;
+	if(b->append != nil && b->appendsize == 0){
+		freememunits(b->append, Maxdatablockunits);
+		b->append = nil;
+		return 0;
+	}
+	recentmetadata(b->m, &b->cur, &b->new);
+	/* writable */
+	memcpy(b->new, b->cur, Blocksize);
+	b->new->verd++;
+	writeallappend(b, b->new, b->blkno);
+	putbuf(b, 1);
+	freememunits(b->append, Maxdatablockunits);
+	b->append = nil;
+	b->appendsize = 0;
+	return 1;
+}
+
 u64
 getindblk(u64 blkno, u64 reli, u16 tag, u64 path)
 {
@@ -178,7 +200,7 @@
 
 	if(tag == Tind0)
 		for(i=0; i < Nindperblock; i++){
-			blkno = ibuf->cur->bufa[i];
+			blkno = ibuf->new->bufa[i];
 			if(blkno == 0)
 				break;
 			if(directtag == Tdentry)
@@ -192,9 +214,9 @@
 		}
 	else
 		for(i=0; i < Nindperblock; i++){
-			if(ibuf->cur->bufa[i] == 0)
+			if(ibuf->new->bufa[i] == 0)
 				break;
-			reli = freeindblock(ibuf->cur->bufa[i], tag-1, qpath, directtag,
+			reli = freeindblock(ibuf->new->bufa[i], tag-1, qpath, directtag,
 								reli, lastreli, lastunits);
 			ibuf->new->bufa[i] = 0;
 		}
@@ -210,7 +232,7 @@
 	int i;
 	u64 reli, lastreli, lastblks;
 
-	d = (Dentry*)dbuf->cur;
+	d = (Dentry*)dbuf->new;
 	memcpy(&d1, d, sizeof(Dentry));
 	for(i=0; i<Ndblock; i++)
 		d->dblocks[i] = 0;
@@ -221,6 +243,9 @@
 	d->muid = uid;
 	putbuf(dbuf, 1);
 
+	if(d1.size <= Ddatasize)
+		return;
+
 	lastreli = d1.size/Maxdatablocksize;
 	lastblks = nlastdatablocks(d1.size);
 	for(i=0; i<Ndblock; i++){
@@ -286,12 +311,10 @@
 	dbuf = getmetachk(dblkno, Bwritable, Tdentry, qpath);
 	if(dbuf == nil)
 			dprint("%s",errstring[Ephase]);
-	size = dbuf->cur->size;
-	memcpy(&d, dbuf->cur, sizeof(Dentry));
-	memset(dbuf->new, 0, Blocksize);
+	size = dbuf->new->size;
+	memcpy(&d, dbuf->new, sizeof(Dentry));
+	memset(((Dentry*)dbuf->new)->buf, 0, Ddatasize);
 	settag(dbuf, Tdentry, Qpnone);
-	dbuf->new->verd = dbuf->cur->verd+1;
-	devwrite(dblkno, dbuf->xiobuf, Metadataunits);
 	if(dbuf->append){ /* data not yet written */
 		freememunits((u8*)dbuf->append, Maxdatablockunits);
 		dbuf->append = nil;
@@ -337,10 +360,8 @@
 	dbuf = getmetachk(dblkno, Bwritable, Tdentry, qpath);
 	if(dbuf == nil)
 			dprint("%s",errstring[Ephase]);
-	memcpy(&d, dbuf->cur, sizeof(Dentry));
-	memset(dbuf->new, 0, Blocksize);
+	memcpy(&d, dbuf->new, sizeof(Dentry));
 	settag(dbuf, Tdentry, Qpnone);
-	dbuf->new->verd = dbuf->cur->verd+1;
 	putbuf(dbuf, 1);
 
 	/*
@@ -571,7 +592,7 @@
 		panic("savefrees nbuf not enough");
 
 	/* writing the actual extents now */
-	writefile(dblkno, Qpfrees, -1, buf, nbuf, 0, nil);
+	writefile(dblkno, Qpfrees, -1, buf, nbuf, 0);
 	free(buf);
 
 	/* flush to the disk if append has stuff */
@@ -578,11 +599,9 @@
 	dbuf = getmetachk(dblkno, Bwritable, Tdentry, Qpfrees);
 	if(dbuf == nil)
 		return;
-	if(dbuf->append != nil){
-		writeallappend(dbuf, dbuf->cur, dblkno);
-		putbuf(dbuf, 1);
-	}else
-		putbuf(dbuf, 0);
+	if(dbuf->append != nil)
+		writeallappend(dbuf, dbuf->new, dblkno);
+	putbuf(dbuf, 1);
 }
 
 void
@@ -600,7 +619,7 @@
 	buf = emalloc(size);
 	if(buf == nil)
 		panic("loadfrees: nil emalloc of %llud bytes", size);
-	if(readfile(dblkno, Qpfrees, buf, size, 0, nil) != size)
+	if(readfile(dblkno, Qpfrees, buf, size, 0) != size)
 		panic("loadfrees: could not load frees");
 	n = loadextents(&frees, buf, size);
 	if(chatty9p > 2)
--- a/extents.c
+++ b/extents.c
@@ -443,40 +443,40 @@
 }
 
 /* allocate n blocks and return that block number */
-u64
-balloc(Extents *es, u64 n)
+s8
+balloc(Extents *es, u64 n, u64 *start)
 {
 	Extent *e;
-	u64 start;
 	char msg[64];
+	s8 rv;
 
 	if(es == nil)
 		panic("balloc: es == nil");
-	start = 0;
-	USED(start);
+	*start = 0;
 	qlock(&es->lck);
-	if(es->n == 0)
-		rsleep(&es->isempty);
-/*	if(chatty9p > 7){
+	if(es->n == 0){
+		// rsleep(&es->isempty);
+		rv = -1;
+		goto ballocend;
+	}
+	if(chatty9p > 7){
 		snprint(msg, 64, "balloc() %llud blocks:\n", n);
 		showextents(2, msg, es);
-	}*/
-again:
+	}
 	for(e = lowest(es); e != nil && e->len < n; e = e->high)
 		;
 	if(e == nil){
-		snprint(msg, 64, "balloc() %llud blocks: waiting\n", n);
-		showextents(2, msg, es);
-		rsleep(&es->isempty);
-		goto again;
+		rv = -1;
+		goto ballocend;
 	}
 	else if(e->len == n)
-		start = pluck(es, e);
+		*start = pluck(es, e);
 	else /* found something bigger */
-		start = slice(es, e, n);
-
+		*start = slice(es, e, n);
+	rv = 1;
+ballocend:
 	qunlock(&es->lck);
-	return start;
+	return rv;
 }
 
 /* reallocate n blocks to nnew blocks and return that block number
@@ -492,6 +492,8 @@
 {
 	if(es == nil)
 		panic("bfree: es == nil");
+	if(len <= 0)
+		panic("bfree: len <= 0");
 	qlock(&es->lck);
 	add(es, start, len);
 	if(es->n == 1)
--- a/extents.h
+++ b/extents.h
@@ -42,7 +42,7 @@
 s32	saveextents(Extents *es, s8 *buf, u32 nbuf);
 s32	loadextents(Extents *es, s8 *buf, u32 nbuf);
 
-u64	 balloc(Extents *es, u64 len);
+s8	 balloc(Extents *es, u64 len, u64 *start);
 void bfree(Extents *es, u64 blkno, u64 len);
 u64	 nfrees(Extents *es);
 
--- a/iobuf.c
+++ b/iobuf.c
@@ -24,7 +24,10 @@
 	if(chatty9p > 4)
 		dprint("initmemunitpool: memunitpool %p nunits*Blocksize %p\n",
 				memunitpool, nunits*Blocksize);
-	bfree(&memunits, 0, nunits);
+	if(nunits > 0)
+		bfree(&memunits, 0, nunits);
+	else
+		panic("invalid nunits %llud\n", nunits);
 }
 
 u8 *
@@ -31,12 +34,26 @@
 allocmemunits(u16 len)
 {
 	u64 m;
+	u8 *a;
+	u8 repeat;
+	s8 st;
 
-	m = balloc(&memunits, len);
+	st = -1;
+	for(repeat = 0;
+		repeat < 10 && (st = balloc(&memunits, len, &m)) < 0;
+		repeat++){
+		showextents(2, "out of memunits: ", &memunits);
+		if(sync()==0)
+			repeat = 9;
+	}
+	if(st < 0)
+		panic("out of memory\n");
 	if(chatty9p > 4)
 		dprint("allocmemunit: memunitpool %p m %p\n",
 				memunitpool, m);
-	return memunitpool+(m*Blocksize);
+	a = memunitpool+(m*Blocksize);
+	memset(a, 0, len*Blocksize);
+	return a;
 }
 
 void
@@ -50,6 +67,41 @@
 	bfree(&memunits, (m-memunitpool)/Blocksize, len);
 }
 
+u64
+sync(void)
+{
+	Iobuf *p, *s;
+	Hiob *hp;
+	u64 nlocked, i;
+
+	nlocked = 0;
+	for(i = 0; i < nbuckets; i++){
+		hp=&hiob[i];
+		qlock(hp);
+		if((s = hp->link) != nil){
+			p=s;
+			do{
+				if(p->xiobuf[0] == Tdentry &&
+					p->append != nil){
+						if(canwlock(p)){
+							qunlock(hp);
+							if(flush(p) == 0)
+								wunlock(p);
+							qlock(hp);
+						}else{
+							// cannot be sure about this without a lock
+							// if(p->xiobuf[0] == Tdentry)
+							nlocked++;
+						}
+				}
+				p = p->fore;
+			}while(p != s);
+		}
+		qunlock(hp);
+	}
+	return nlocked;
+}
+
 /*
    add an Iobuf to the collisions lru linked list
    hp must be locked
@@ -146,9 +198,8 @@
 				freememunits(p->xiobuf, p->len);
 				p->xiobuf = allocmemunits(len);
 				p->len = len;
-				if(freshalloc)
-					memset(p->xiobuf, 0, len*Blocksize);
-				else
+				p->freshalloc = freshalloc;
+				if(freshalloc == 0)
 					devread(blkno, p->xiobuf, len);
 				if(readonly){
 					if(chkwunlock(p) == 0){
@@ -194,16 +245,23 @@
 Another:
 		do{
 			p = s->back;
-			if(p->ref == 0 && p->append == nil && canwlock(p)){
+			if(p->ref == 0 && canwlock(p)){
 				if(p->ref > 0){
 					wunlock(p);
 					goto Another;
 				}
+				/* allocate on flush as many as possible */
+				if(p->xiobuf[0] == Tdentry &&
+					p->append != nil){
+					if(flush(p))
+						goto Another;
+				}
 				if(p->len != len){
 					freememunits(p->xiobuf, p->len);
 					p->xiobuf = allocmemunits(len);
 					p->len = len;
-				}
+				}else
+					memset(p->xiobuf, 0, p->len*Blocksize);
 				hp->link = p;
 				if(chatty9p > 4)
 					dprint("	stealing iobuf 0x%p for blkno %llud len %llud\n",
@@ -229,9 +287,8 @@
 	if(chatty9p > 4)
 		dprint("	after qunlock(hp) hp 0x%p blkno %llud\n",
 				hp, blkno);
-	if(freshalloc)
-		memset(p->xiobuf, 0, len*Blocksize);
-	else
+	p->freshalloc = freshalloc;
+	if(freshalloc == 0)
 		devread(blkno, p->xiobuf, len);
 	if(readonly){
 		if(chatty9p > 4)
@@ -365,7 +422,10 @@
 					p->blkno == config.super.srcbno ||
 					p->blkno == config.root.srcbno)
 					memcpy(buf, p->new->buf, Ddatasize);
-				devwrite(p->blkno+(p->new>p->cur?1:0), p->new, 1);
+				if(p->freshalloc)
+					devwrite(p->blkno, p->xiobuf, Metadataunits);
+				else
+					devwrite(p->blkno+(p->new>p->cur?1:0), p->new, 1);
 			}
 		}
 		if(chkwunlock(p) == 0){
@@ -474,11 +534,11 @@
 		panic("settag %s(%llux) tag/path=%s/%llud: p->io == nil\n",
 				devfile, (u64)p->blkno, tagnames[tag], qpath);
 	if(tag == Tdata){
-		p->io->tag = Tdentry;
+		p->io->tag = Tdata;
 		p->io->path = qpath;
 	}else{
 		((Dentry*)p->new)->tag = tag;
-		((Dentry*)p->new)->path = qpath;
+		((Dentry*)p->new)->path = ((Dentry*)p->new)->qpath = qpath;
 	}
 }
 
--- a/sub.c
+++ b/sub.c
@@ -78,9 +78,18 @@
 {
 	u64 blkno;
 	Iobuf *buf;
+	u8 repeat;
+	s8 st;
 
-	blkno = balloc(&frees, len);
-	if(blkno == 0)
+	st = -1;
+	for(repeat = 0;
+		repeat < 10 && (st = balloc(&frees, len, &blkno)) < 0;
+		repeat++){
+		showextents(2, "out of free blocks: ", &frees);
+		if(sync()==0)
+			repeat = 9;
+	}
+	if(st < 0)
 		return nil;	/* the caller should trigger an Efull message */
 
 	if(chatty9p > 1)
@@ -91,7 +100,9 @@
 
 	/* clear the buf to avoid leaks on reuse */
 	memset(buf->xiobuf, 0, len*Blocksize);
-	if(tag != Tdata)
+	if(tag == Tdata)
+		buf->io->len = len;
+	else
 		recentmetadata(buf->m, &buf->cur, &buf->new);
 	settag(buf, tag, qpath);
 	return buf;
@@ -103,6 +114,8 @@
 	Iobuf *b;
 
 	b = allocblocks(Metadataunits, tag, qpath);
+	if(b == nil)
+		panic("out of free blocks\n");
 	b->new->verd++;
 	return b;
 }
@@ -424,7 +437,14 @@
 
 	reamdefaults(config.config.dest[0], config.super.dest[0], config.root.dest[0]);
 
-	bfree(&frees, nbused, config.root.dest[0]-nbused);
+	if(config.root.dest[0]-nbused > 0)
+		bfree(&frees, nbused, config.root.dest[0]-nbused);
+	else if (config.root.dest[0] == nbused)
+		dprint("mafs: %s no free blocks: config.root.dest[0] %llud nbused %llud Nminblocks %llud\n",
+				service, config.root.dest[0], nbused, Nminblocks);
+	else
+		panic("not enough blocks for mafs config.root.dest[0] %llud nbused %llud Nminblocks %d\n",
+				config.root.dest[0], nbused, Nminblocks);
 	if(chatty9p > 1)
 		showextents(2, "free extents: ", &frees);
 	if(chatty9p > 1)
@@ -446,7 +466,7 @@
 	u64 nblocks;
 
 	nblocks = size/Blocksize;
-	if(nblocks <= Nminblocks)
+	if(nblocks < Nminblocks)
 		panic("not enough space");
 
 	if(chatty9p > 1){
@@ -506,12 +526,12 @@
 	putbuf(b, 0);
 
 	/* check super */
-	sb = getmetachk(Bdsuper, Breadonly, Tdentry, Qpsuper);
+	sb = getmetachk(Bdsuper, Bwritable, Tdentry, Qpsuper);
 	if(sb == nil){
 		panic("Invalid super: %s",errstring[Ephase]);
 		return;
 	}
-	s = (Dentry*)sb->cur;
+	s = (Dentry*)sb->new;
 	if(s->fsok != 1 || config.size != size)
 		panic(errstring[Edirty]);
 
--- a/tests/check.rc
+++ b/tests/check.rc
@@ -5,21 +5,27 @@
 nblocks=$3
 
 # check the contents
-for(b in `{seq 0 1 `{echo $nblocks ' 1 - p' | dc}}){
-	file=$t/blocks/^$b
-	test -f $file &&
-		@{ # to avoid warning: process exceeds 200 file descriptors
-			> /tmp/^$t^.out >[2]/tmp/^$t^.err \
-			diff <{grep -v '^mtime' $file} \
-				<{disk/block $disk $b | grep -v '^mtime'} ||
-			{
-				echo $file
-				cat /tmp/^$t^.out
-				cat /tmp/^$t^.err
-			}
-		}
+#for(b in `{seq 0 1 `{echo $nblocks ' 1 - p' | dc}}){
+#	file=$t/blocks/^$b
+#	test -f $file &&
+#		@{ # to avoid warning: process exceeds 200 file descriptors
+#			> /tmp/^$t^.out >[2]/tmp/^$t^.err \
+#			diff <{grep -v '^mtime' $file} \
+#				<{disk/block $disk $b | grep -v '^mtime'} ||
+#			{
+#				echo $file
+#				cat /tmp/^$t^.out
+#				cat /tmp/^$t^.err
+#			}
+#		}
+#}
+#rm /tmp/^$t^*
+
+for(file in $t/blocks/*){
+	diff <{grep -v '^mtime' $file} \
+		<{disk/block $disk `{basename $file} | grep -v '^mtime'} ||
+			echo '	' $file failed
 }
-rm /tmp/^$t^*
 
 # reconcile the used and free blocks
 echo reconcile $disk $nblocks
--- a/tests/offsets.c
+++ b/tests/offsets.c
@@ -69,5 +69,5 @@
 	if(debug)
 		write(1, buf, nw);
 	close(fd); close(sfd); close(afd);
-	exits(0);
+	exits(nil);
 }
--- a/tests/test.0/blocks/0
+++ b/tests/test.0/blocks/0
@@ -1,14 +1,1 @@
-Tdentry 11
-name magic
-uid -1
-gid -1
-muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668649861940433308
-qid.path 11
-qid.version 0
-mode 20000000777
-m[a]fs device
-512
+Tblank
--- a/tests/test.0/blocks/1
+++ b/tests/test.0/blocks/1
@@ -1,18 +1,14 @@
-Tdentry 1
-name config
+Tdentry 1 1
+name magic
 uid -1
 gid -1
 muid -1
-size 110
-pdblkno 3
-pqpath 3
-mtime 1668649861940458635
-qid.path 1
-qid.version 0
-mode 444
-size 16384
-nblocks 32
-backup config 1 to 31 20
-backup super 2 to 30 19
-backup root 10 to 29 18
-service test.0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669266781841194018
+path 1
+version 0
+mode 20000000777
+m[a]fs device
+512
--- a/tests/test.0/blocks/10
+++ b/tests/test.0/blocks/10
@@ -1,49 +1,1 @@
-Tdentry 10
-name /
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 0
-pqpath 0
-mtime 1668649861940456464
-qid.path 10
-qid.version 0
-mode 20000000777
-direct blocks
-	0 3
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.0/blocks/11
+++ b/tests/test.0/blocks/11
@@ -1,1 +1,51 @@
-Tblank
+Tdentry 10 1
+name bkp
+uid -1
+gid -1
+muid -1
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669266781841663468
+path 10
+version 0
+mode 20000000777
+direct blocks
+	0 30
+	1 28
+	2 26
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.0/blocks/13
+++ b/tests/test.0/blocks/13
@@ -1,1 +1,18 @@
-Tblank
+Tdentry 12 1
+name inuse
+uid -1
+gid -1
+muid -1
+size 95
+pdblkno 8
+pqpath 8
+mtime 1669266781842207495
+path 12
+version 0
+mode 444
+-1:adm:adm:glenda
+0:none:adm:
+9999:noworld::
+10000:sys::
+10001:upas:upas:
+10006:glenda:glenda:
--- a/tests/test.0/blocks/14
+++ b/tests/test.0/blocks/14
@@ -1,1 +1,13 @@
-Tblank
+Tdentry 14 4
+name frees
+uid -1
+gid -1
+muid -1
+size 9
+pdblkno 6
+pqpath 6
+mtime 1669266782968974477
+path 14
+version 0
+mode 444
+22 25 4
--- a/tests/test.0/blocks/15
+++ b/tests/test.0/blocks/15
@@ -1,1 +1,13 @@
-Tblank
+Tdentry 14 3
+name frees
+uid -1
+gid -1
+muid -1
+size 9
+pdblkno 6
+pqpath 6
+mtime 1669266782968974477
+path 14
+version 0
+mode 444
+22 25 4
--- a/tests/test.0/blocks/17
+++ b/tests/test.0/blocks/17
@@ -1,1 +1,12 @@
-Tblank
+Tdentry 16 1
+name ctl
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 6
+pqpath 6
+mtime 1669266781843469446
+path 16
+version 0
+mode 444
--- a/tests/test.0/blocks/18
+++ b/tests/test.0/blocks/18
@@ -1,49 +1,1 @@
-Tdentry 17
-name root.1
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 5
-pqpath 5
-mtime 1668649861940398669
-qid.path 17
-qid.version 0
-mode 444
-direct blocks
-	0 18
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.0/blocks/19
+++ b/tests/test.0/blocks/19
@@ -1,14 +1,12 @@
-Tdentry 16
-name super.1
+Tdentry 18 1
+name staging
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668649863062398070
-qid.path 16
-qid.version 0
+pdblkno 8
+pqpath 8
+mtime 1669266781843982479
+path 18
+version 0
 mode 444
-qidgen 64
-fsok 1
--- a/tests/test.0/blocks/2
+++ b/tests/test.0/blocks/2
@@ -1,14 +1,18 @@
-Tdentry 2
-name super
+Tdentry 2 2
+name config
 uid -1
 gid -1
 muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668649861940361606
-qid.path 2
-qid.version 0
+size 101
+pdblkno 6
+pqpath 6
+mtime 1669266781842963408
+path 2
+version 0
 mode 444
-qidgen 64
-fsok 1
+size 16384
+nblocks 32
+backup config 2 to 30
+backup super 4 to 28
+backup root 20 to 26
+service test.0
--- a/tests/test.0/blocks/20
+++ b/tests/test.0/blocks/20
@@ -1,18 +1,1 @@
-Tdentry 15
-name config.1
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 5
-pqpath 5
-mtime 1668649861940490547
-qid.path 15
-qid.version 0
-mode 444
-size 16384
-nblocks 32
-backup config 1 to 31 20
-backup super 2 to 30 19
-backup root 10 to 29 18
-service test.0
+Tblank
--- a/tests/test.0/blocks/21
+++ b/tests/test.0/blocks/21
@@ -1,1 +1,51 @@
-Tblank
+Tdentry 20 1
+name /
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 0
+pqpath 0
+mtime 1669266781842453528
+path 20
+version 0
+mode 20000000777
+direct blocks
+	0 6
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.0/blocks/26
+++ b/tests/test.0/blocks/26
@@ -1,1 +1,51 @@
-Tblank
+Tdentry 21 2
+name root.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669266781842709749
+path 21
+version 0
+mode 444
+direct blocks
+	0 6
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.0/blocks/27
+++ b/tests/test.0/blocks/27
@@ -1,1 +1,51 @@
-Tblank
+Tdentry 21 1
+name root.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669266781840385254
+path 21
+version 0
+mode 444
+direct blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.0/blocks/28
+++ b/tests/test.0/blocks/28
@@ -1,1 +1,14 @@
-Tblank
+Tdentry 5 6
+name super.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669266782968414273
+path 5
+version 0
+mode 444
+qidgen 64
+fsok 1
--- a/tests/test.0/blocks/29
+++ b/tests/test.0/blocks/29
@@ -1,49 +1,14 @@
-Tdentry 14
-name root.0
+Tdentry 5 5
+name super.0
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668649861940388481
-qid.path 14
-qid.version 0
+pdblkno 10
+pqpath 10
+mtime 1669266781846053722
+path 5
+version 0
 mode 444
-direct blocks
-	0 29
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+qidgen 64
+fsok 0
--- a/tests/test.0/blocks/3
+++ b/tests/test.0/blocks/3
@@ -1,49 +1,12 @@
-Tdentry 3
-name adm
+Tdentry 2 1
+name config
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 10
-pqpath 10
-mtime 1668649861940444843
-qid.path 3
-qid.version 0
-mode 20000000777
-direct blocks
-	0 1
-	1 2
-	2 4
-	3 5
-	4 7
-	5 8
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+pdblkno 6
+pqpath 6
+mtime 1669266781842963408
+path 2
+version 0
+mode 444
--- a/tests/test.0/blocks/30
+++ b/tests/test.0/blocks/30
@@ -1,14 +1,12 @@
-Tdentry 13
-name super.0
+Tdentry 3 2
+name config.0
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668649863062393254
-qid.path 13
-qid.version 0
+pdblkno 10
+pqpath 10
+mtime 1669266781843216480
+path 3
+version 0
 mode 444
-qidgen 64
-fsok 1
--- a/tests/test.0/blocks/31
+++ b/tests/test.0/blocks/31
@@ -1,18 +1,18 @@
-Tdentry 12
+Tdentry 3 3
 name config.0
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668649861940488754
-qid.path 12
-qid.version 0
+pdblkno 10
+pqpath 10
+mtime 1669266781845113187
+path 3
+version 0
 mode 444
 size 16384
 nblocks 32
-backup config 1 to 31 20
-backup super 2 to 30 19
-backup root 10 to 29 18
+backup config 2 to 30
+backup super 4 to 28
+backup root 20 to 26
 service test.0
--- a/tests/test.0/blocks/4
+++ b/tests/test.0/blocks/4
@@ -1,49 +1,14 @@
-Tdentry 4
-name users
+Tdentry 4 5
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668649861940451606
-qid.path 4
-qid.version 0
-mode 20000000777
-direct blocks
-	0 6
-	1 9
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669266781839844790
+path 4
+version 0
+mode 444
+qidgen 64
+fsok 1
--- a/tests/test.0/blocks/5
+++ b/tests/test.0/blocks/5
@@ -1,49 +1,14 @@
-Tdentry 5
-name bkp
+Tdentry 4 4
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668649861940447075
-qid.path 5
-qid.version 0
-mode 20000000777
-direct blocks
-	0 31
-	1 30
-	2 29
-	3 20
-	4 19
-	5 18
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669266781839844790
+path 4
+version 0
+mode 444
+qidgen 64
+fsok 0
--- a/tests/test.0/blocks/6
+++ b/tests/test.0/blocks/6
@@ -1,18 +1,1 @@
-Tdentry 6
-name inuse
-uid -1
-gid -1
-muid -1
-size 95
-pdblkno 4
-pqpath 4
-mtime 1668649861940454056
-qid.path 6
-qid.version 0
-mode 444
--1:adm:adm:glenda
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10006:glenda:glenda:
+Tblank
--- a/tests/test.0/blocks/7
+++ b/tests/test.0/blocks/7
@@ -1,14 +1,51 @@
-Tdentry 7
-name frees
+Tdentry 6 1
+name adm
 uid -1
 gid -1
 muid -1
-size 17
-pdblkno 3
-pqpath 3
-mtime 1668649864062422719
-qid.path 7
-qid.version 0
-mode 444
-11 17 7
-21 28 8
+size 0
+pdblkno 20
+pqpath 20
+mtime 1669266781841407294
+path 6
+version 0
+mode 20000000777
+direct blocks
+	0 2
+	1 4
+	2 8
+	3 10
+	4 14
+	5 16
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.0/blocks/8
+++ b/tests/test.0/blocks/8
@@ -1,12 +1,1 @@
-Tdentry 8
-name ctl
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 3
-pqpath 3
-mtime 1668649861940463324
-qid.path 8
-qid.version 0
-mode 444
+Tblank
--- a/tests/test.0/blocks/9
+++ b/tests/test.0/blocks/9
@@ -1,12 +1,51 @@
-Tdentry 9
-name staging
+Tdentry 8 1
+name users
 uid -1
 gid -1
 muid -1
-size 0
-pdblkno 4
-pqpath 4
-mtime 1668649861940473536
-qid.path 9
-qid.version 0
-mode 444
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669266781841913390
+path 8
+version 0
+mode 20000000777
+direct blocks
+	0 12
+	1 18
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.0/notes
+++ b/tests/test.0/notes
@@ -1,39 +1,18 @@
 Creates a disk of 32 blocks. Unmarked blocks are blank.
 
 block	- description
-0		- magic
-1		- config
-2		- super block
-3		- /adm/ dir entry
-4		- /adm/config dir entry
-5		- /adm/super dir entry
-6		- /adm/bkp/ dir entry
-7	- /adm/bkp/config.0 dir entry
-8	- /adm/bkp/super.0 dir entry
-9	- /adm/bkp/root.0 dir entry
-10	- /adm/bkp/config.1 dir entry
-11	- /adm/bkp/super.1 dir entry
-12	- /adm/bkp/root.1 dir entry
-13		- /adm/users/ dir entry
-14		- /adm/users/inuse dir entry
-15		- /adm/users/inuse contents
-16	- /adm/frees dir entry
-17	- /adm/ctl dir entry -- virtual file, empty contents
+0		- magic dir entry and data
+2		- /adm/config dir entry
+4		- /adm/super dir entry
+6		- /adm/ dir entry
+8		- /adm/users/ dir entry
+10		- /adm/bkp/ dir entry
+12		- /adm/users/inuse dir entry
+14	- /adm/frees dir entry
+16	- /adm/ctl dir entry -- virtual file, empty contents
 18		- /adm/users/staging dir entry
-19		- / direntry
+20		- / direntry
 
-20	- /adm/frees contents
-21
-22
-
-23	- / direntry
-24	- super block
-25	- config
-
-26
-27
-28
-
-29	- / direntry
-30	- super block
-31	- config
+26	- /adm/bkp/root.0 dir entry
+28	- /adm/bkp/super.0 dir entry
+30	- /adm/bkp/config.0 dir entry
--- a/tests/test.1/blocks/0
+++ b/tests/test.1/blocks/0
@@ -1,14 +1,1 @@
-Tdentry 11
-name magic
-uid -1
-gid -1
-muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668649877218596212
-qid.path 11
-qid.version 0
-mode 20000000777
-m[a]fs device
-512
+Tblank
--- a/tests/test.1/blocks/1
+++ b/tests/test.1/blocks/1
@@ -1,18 +1,14 @@
-Tdentry 1
-name config
+Tdentry 1 1
+name magic
 uid -1
 gid -1
 muid -1
-size 110
-pdblkno 3
-pqpath 3
-mtime 1668649877218621464
-qid.path 1
-qid.version 0
-mode 444
-size 16384
-nblocks 32
-backup config 1 to 31 20
-backup super 2 to 30 19
-backup root 10 to 29 18
-service test.1
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669260493690805898
+path 1
+version 0
+mode 20000000777
+m[a]fs device
+512
--- a/tests/test.1/blocks/10
+++ b/tests/test.1/blocks/10
@@ -1,49 +1,1 @@
-Tdentry 10
-name /
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 0
-pqpath 0
-mtime 1668649877218619227
-qid.path 10
-qid.version 0
-mode 20000000777
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.1/blocks/11
+++ b/tests/test.1/blocks/11
@@ -1,19 +1,19 @@
-Tdentry 64
-name dir1
-uid 10006
+Tdentry 10 1
+name bkp
+uid -1
 gid -1
-muid 10006
-size 0
-pdblkno 10
-pqpath 10
-mtime 1668649878352919167
-qid.path 64
-qid.version 0
+muid -1
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669260493691244999
+path 10
+version 0
 mode 20000000777
 direct blocks
-	0 12
-	1 0
-	2 0
+	0 30
+	1 28
+	2 26
 	3 0
 	4 0
 	5 0
@@ -47,3 +47,5 @@
 	0 0
 	1 0
 	2 0
+	3 0
+	4 0
--- a/tests/test.1/blocks/12
+++ b/tests/test.1/blocks/12
@@ -1,13 +1,1 @@
-Tdentry 65
-name file1
-uid 10006
-gid -1
-muid 10006
-size 5
-pdblkno 11
-pqpath 64
-mtime 1668649878356612046
-qid.path 65
-qid.version 0
-mode 666
-test
+Tblank
--- a/tests/test.1/blocks/13
+++ b/tests/test.1/blocks/13
@@ -1,1 +1,18 @@
-Tblank
+Tdentry 12 1
+name inuse
+uid -1
+gid -1
+muid -1
+size 95
+pdblkno 8
+pqpath 8
+mtime 1669260493691746357
+path 12
+version 0
+mode 444
+-1:adm:adm:glenda
+0:none:adm:
+9999:noworld::
+10000:sys::
+10001:upas:upas:
+10006:glenda:glenda:
--- a/tests/test.1/blocks/14
+++ b/tests/test.1/blocks/14
@@ -1,1 +1,12 @@
-Tblank
+Tdentry 14 4
+name frees
+uid -1
+gid -1
+muid -1
+size 1
+pdblkno 6
+pqpath 6
+mtime 1669260494838816085
+path 14
+version 0
+mode 444
--- a/tests/test.1/blocks/15
+++ b/tests/test.1/blocks/15
@@ -1,1 +1,12 @@
-Tblank
+Tdentry 14 3
+name frees
+uid -1
+gid -1
+muid -1
+size 1
+pdblkno 6
+pqpath 6
+mtime 1669260494838816085
+path 14
+version 0
+mode 444
--- a/tests/test.1/blocks/17
+++ b/tests/test.1/blocks/17
@@ -1,1 +1,12 @@
-Tblank
+Tdentry 16 1
+name ctl
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 6
+pqpath 6
+mtime 1669260493693006083
+path 16
+version 0
+mode 444
--- a/tests/test.1/blocks/18
+++ b/tests/test.1/blocks/18
@@ -1,49 +1,1 @@
-Tdentry 17
-name root.1
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 5
-pqpath 5
-mtime 1668649878352945292
-qid.path 17
-qid.version 0
-mode 444
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.1/blocks/19
+++ b/tests/test.1/blocks/19
@@ -1,14 +1,12 @@
-Tdentry 16
-name super.1
+Tdentry 18 1
+name staging
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668649878365673609
-qid.path 16
-qid.version 0
+pdblkno 8
+pqpath 8
+mtime 1669260493693509270
+path 18
+version 0
 mode 444
-qidgen 66
-fsok 1
--- a/tests/test.1/blocks/2
+++ b/tests/test.1/blocks/2
@@ -1,14 +1,18 @@
-Tdentry 2
-name super
+Tdentry 2 2
+name config
 uid -1
 gid -1
 muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668649877218521323
-qid.path 2
-qid.version 0
+size 101
+pdblkno 6
+pqpath 6
+mtime 1669260493692505819
+path 2
+version 0
 mode 444
-qidgen 66
-fsok 1
+size 16384
+nblocks 32
+backup config 2 to 30
+backup super 4 to 28
+backup root 20 to 26
+service test.1
--- a/tests/test.1/blocks/20
+++ b/tests/test.1/blocks/20
@@ -1,18 +1,51 @@
-Tdentry 15
-name config.1
+Tdentry 20 2
+name /
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668649877218653532
-qid.path 15
-qid.version 0
-mode 444
-size 16384
-nblocks 32
-backup config 1 to 31 20
-backup super 2 to 30 19
-backup root 10 to 29 18
-service test.1
+pdblkno 0
+pqpath 0
+mtime 1669260493692002902
+path 20
+version 0
+mode 20000000777
+direct blocks
+	0 6
+	1 22
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.1/blocks/21
+++ b/tests/test.1/blocks/21
@@ -1,1 +1,51 @@
-Tblank
+Tdentry 20 1
+name /
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 0
+pqpath 0
+mtime 1669260493692002902
+path 20
+version 0
+mode 20000000777
+direct blocks
+	0 6
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.1/blocks/22
+++ b/tests/test.1/blocks/22
@@ -1,1 +1,51 @@
-Tblank
+Tdentry 64 2
+name dir1
+uid 10006
+gid -1
+muid 10006
+size 0
+pdblkno 20
+pqpath 20
+mtime 1669260494829964385
+path 64
+version 0
+mode 20000000777
+direct blocks
+	0 24
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.1/blocks/23
+++ b/tests/test.1/blocks/23
@@ -1,1 +1,51 @@
-Tblank
+Tdentry 64 1
+name dir1
+uid 10006
+gid -1
+muid 10006
+size 0
+pdblkno 20
+pqpath 20
+mtime 1669260494829964385
+path 64
+version 0
+mode 20000000777
+direct blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.1/blocks/24
+++ b/tests/test.1/blocks/24
@@ -1,1 +1,12 @@
-Tblank
+Tdentry 65 2
+name file1
+uid 10006
+gid -1
+muid 10006
+size 0
+pdblkno 22
+pqpath 64
+mtime 1669260494000000000
+path 65
+version 0
+mode 666
--- a/tests/test.1/blocks/25
+++ b/tests/test.1/blocks/25
@@ -1,1 +1,13 @@
-Tblank
+Tdentry 65 3
+name file1
+uid 10006
+gid -1
+muid 10006
+size 5
+pdblkno 22
+pqpath 64
+mtime 1669260494833939487
+path 65
+version 0
+mode 666
+test
--- a/tests/test.1/blocks/26
+++ b/tests/test.1/blocks/26
@@ -1,1 +1,51 @@
-Tblank
+Tdentry 21 2
+name root.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669260493692245547
+path 21
+version 0
+mode 444
+direct blocks
+	0 6
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.1/blocks/27
+++ b/tests/test.1/blocks/27
@@ -1,1 +1,51 @@
-Tblank
+Tdentry 21 3
+name root.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669260494830996612
+path 21
+version 0
+mode 444
+direct blocks
+	0 6
+	1 22
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.1/blocks/28
+++ b/tests/test.1/blocks/28
@@ -1,1 +1,14 @@
-Tblank
+Tdentry 5 8
+name super.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669260494838260263
+path 5
+version 0
+mode 444
+qidgen 66
+fsok 1
--- a/tests/test.1/blocks/29
+++ b/tests/test.1/blocks/29
@@ -1,49 +1,14 @@
-Tdentry 14
-name root.0
+Tdentry 5 7
+name super.0
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668649878352943542
-qid.path 14
-qid.version 0
+pdblkno 10
+pqpath 10
+mtime 1669260494832377543
+path 5
+version 0
 mode 444
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+qidgen 66
+fsok 0
--- a/tests/test.1/blocks/3
+++ b/tests/test.1/blocks/3
@@ -1,49 +1,12 @@
-Tdentry 3
-name adm
+Tdentry 2 1
+name config
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 10
-pqpath 10
-mtime 1668649877218607599
-qid.path 3
-qid.version 0
-mode 20000000777
-direct blocks
-	0 1
-	1 2
-	2 4
-	3 5
-	4 7
-	5 8
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+pdblkno 6
+pqpath 6
+mtime 1669260493692505819
+path 2
+version 0
+mode 444
--- a/tests/test.1/blocks/30
+++ b/tests/test.1/blocks/30
@@ -1,14 +1,12 @@
-Tdentry 13
-name super.0
+Tdentry 3 2
+name config.0
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668649878365670865
-qid.path 13
-qid.version 0
+pdblkno 10
+pqpath 10
+mtime 1669260493692753602
+path 3
+version 0
 mode 444
-qidgen 66
-fsok 1
--- a/tests/test.1/blocks/31
+++ b/tests/test.1/blocks/31
@@ -1,18 +1,18 @@
-Tdentry 12
+Tdentry 3 3
 name config.0
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668649877218651836
-qid.path 12
-qid.version 0
+pdblkno 10
+pqpath 10
+mtime 1669260493694528763
+path 3
+version 0
 mode 444
 size 16384
 nblocks 32
-backup config 1 to 31 20
-backup super 2 to 30 19
-backup root 10 to 29 18
+backup config 2 to 30
+backup super 4 to 28
+backup root 20 to 26
 service test.1
--- a/tests/test.1/blocks/4
+++ b/tests/test.1/blocks/4
@@ -1,49 +1,14 @@
-Tdentry 4
-name users
+Tdentry 4 7
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668649877218614248
-qid.path 4
-qid.version 0
-mode 20000000777
-direct blocks
-	0 6
-	1 9
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669260493689548915
+path 4
+version 0
+mode 444
+qidgen 66
+fsok 1
--- a/tests/test.1/blocks/5
+++ b/tests/test.1/blocks/5
@@ -1,49 +1,14 @@
-Tdentry 5
-name bkp
+Tdentry 4 6
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668649877218609834
-qid.path 5
-qid.version 0
-mode 20000000777
-direct blocks
-	0 31
-	1 30
-	2 29
-	3 20
-	4 19
-	5 18
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669260493689548915
+path 4
+version 0
+mode 444
+qidgen 66
+fsok 0
--- a/tests/test.1/blocks/6
+++ b/tests/test.1/blocks/6
@@ -1,18 +1,1 @@
-Tdentry 6
-name inuse
-uid -1
-gid -1
-muid -1
-size 95
-pdblkno 4
-pqpath 4
-mtime 1668649877218616761
-qid.path 6
-qid.version 0
-mode 444
--1:adm:adm:glenda
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10006:glenda:glenda:
+Tblank
--- a/tests/test.1/blocks/7
+++ b/tests/test.1/blocks/7
@@ -1,14 +1,51 @@
-Tdentry 7
-name frees
+Tdentry 6 1
+name adm
 uid -1
 gid -1
 muid -1
-size 17
-pdblkno 3
-pqpath 3
-mtime 1668649879365706377
-qid.path 7
-qid.version 0
-mode 444
-13 17 5
-21 28 8
+size 0
+pdblkno 20
+pqpath 20
+mtime 1669260493690992478
+path 6
+version 0
+mode 20000000777
+direct blocks
+	0 2
+	1 4
+	2 8
+	3 10
+	4 14
+	5 16
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.1/blocks/8
+++ b/tests/test.1/blocks/8
@@ -1,12 +1,1 @@
-Tdentry 8
-name ctl
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 3
-pqpath 3
-mtime 1668649877218625957
-qid.path 8
-qid.version 0
-mode 444
+Tblank
--- a/tests/test.1/blocks/9
+++ b/tests/test.1/blocks/9
@@ -1,12 +1,51 @@
-Tdentry 9
-name staging
+Tdentry 8 1
+name users
 uid -1
 gid -1
 muid -1
-size 0
-pdblkno 4
-pqpath 4
-mtime 1668649877218636354
-qid.path 9
-qid.version 0
-mode 444
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669260493691485896
+path 8
+version 0
+mode 20000000777
+direct blocks
+	0 12
+	1 18
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.1/notes
+++ b/tests/test.1/notes
@@ -4,39 +4,21 @@
 echo test >> /n/mafs_test.1/dir1/file1
 
 block	- description
-0		- magic
-1		- config
-2		- super block
-3		- /adm/ dir entry
-4		- /adm/config dir entry
-5		- /adm/super dir entry
-6		- /adm/bkp/ dir entry
-7	- /adm/bkp/config.0 dir entry
-8	- /adm/bkp/super.0 dir entry
-9	- /adm/bkp/root.0 dir entry
-10	- /adm/bkp/config.1 dir entry
-11	- /adm/bkp/super.1 dir entry
-12	- /adm/bkp/root.1 dir entry
-13		- /adm/users/ dir entry
-14		- /adm/users/inuse dir entry
-15		- /adm/users/inuse contents
-16	- /adm/frees dir entry
-17	- /adm/ctl dir entry -- virtual file, empty contents
+0		- magic dir entry and data
+2		- /adm/config dir entry
+4		- /adm/super dir entry
+6		- /adm/ dir entry
+8		- /adm/users/ dir entry
+10		- /adm/bkp/ dir entry
+12		- /adm/users/inuse dir entry
+14	- /adm/frees dir entry
+16	- /adm/ctl dir entry -- virtual file, empty contents
 18		- /adm/users/staging dir entry
-19		- / direntry
+20		- / direntry
 
-20	- /dir1 directory entry
-21	- /dir1/file1 directory entry
-22	- /dir1/file1 contents
+22	- /dir1 directory entry
+24	- /dir1/file1 directory entry and contents
 
-23	- / direntry
-24	- super block
-25	- config
-
-26	- /adm/frees contents
-27
-28
-
-29	- / direntry
-30	- super block
-31	- config
+26	- /adm/bkp/root.0 dir entry
+28	- /adm/bkp/super.0 dir entry
+30	- /adm/bkp/config.0 dir entry
--- a/tests/test.2/action.rc
+++ b/tests/test.2/action.rc
@@ -5,17 +5,20 @@
 # du -a /n/^$service^/
 
 for(t in 0 1 01 2 3 4 5 7){
+#for(t in 4 7){
 	touch /n/^$service^/file1
 	echo ./6.offsets -s test.2/^$t^.start -o `{cat test.2/^$t^.offset} -a test.2/^$t^.add /n/^$service^/file1
 	./6.offsets -s test.2/^$t^.start -o `{cat test.2/^$t^.offset} -a test.2/^$t^.add /n/^$service^/file1
 	diff /n/^$service^/file1 test.2/^$t^.end
-#	{
-#		ls -l /n/^$service^/file1 test.2/^$t^.end
-#		echo cat /n/^$service^/file1
-#		cat /n/^$service^/file1
-#		echo cat test.2/^$t^.end
-#		cat test.2/^$t^.end
-#	}
+	cmp /n/^$service^/file1 test.2/^$t^.end ||
+	{
+		ls -l /n/^$service^/file1 test.2/^$t^.end
+		echo cat /n/^$service^/file1
+		cat /n/^$service^/file1
+		echo cat test.2/^$t^.end
+		cat test.2/^$t^.end
+	}
+	echo $status
 	rm /n/^$service^/file1
 }
 # 	touch /n/^$service^/file1
--- a/tests/test.2/blocks/0
+++ b/tests/test.2/blocks/0
@@ -1,14 +1,1 @@
-Tdentry 11
-name magic
-uid -1
-gid -1
-muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668649892762284337
-qid.path 11
-qid.version 0
-mode 20000000777
-m[a]fs device
-512
+Tblank
--- a/tests/test.2/blocks/1
+++ b/tests/test.2/blocks/1
@@ -1,18 +1,14 @@
-Tdentry 1
-name config
+Tdentry 1 1
+name magic
 uid -1
 gid -1
 muid -1
-size 110
-pdblkno 3
-pqpath 3
-mtime 1668649892762309529
-qid.path 1
-qid.version 0
-mode 444
-size 24576
-nblocks 48
-backup config 1 to 47 28
-backup super 2 to 46 27
-backup root 10 to 45 26
-service test.2
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669260590167453781
+path 1
+version 0
+mode 20000000777
+m[a]fs device
+512
--- a/tests/test.2/blocks/10
+++ b/tests/test.2/blocks/10
@@ -1,49 +1,1 @@
-Tdentry 10
-name /
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 0
-pqpath 0
-mtime 1668649892762307319
-qid.path 10
-qid.version 0
-mode 20000000777
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.2/blocks/11
+++ b/tests/test.2/blocks/11
@@ -1,12 +1,51 @@
-Tdentry 0
-name 
-uid 0
-gid 0
-muid 0
-size 0
-pdblkno 0
-pqpath 0
-mtime 0
-qid.path 0
-qid.version 0
-mode 0
+Tdentry 10 1
+name bkp
+uid -1
+gid -1
+muid -1
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669260590167916144
+path 10
+version 0
+mode 20000000777
+direct blocks
+	0 46
+	1 44
+	2 42
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.2/blocks/13
+++ b/tests/test.2/blocks/13
@@ -1,1 +1,18 @@
-Tblank
+Tdentry 12 1
+name inuse
+uid -1
+gid -1
+muid -1
+size 95
+pdblkno 8
+pqpath 8
+mtime 1669260590168417815
+path 12
+version 0
+mode 444
+-1:adm:adm:glenda
+0:none:adm:
+9999:noworld::
+10000:sys::
+10001:upas:upas:
+10006:glenda:glenda:
--- a/tests/test.2/blocks/14
+++ b/tests/test.2/blocks/14
@@ -1,1 +1,13 @@
-Tblank
+Tdentry 14 4
+name frees
+uid -1
+gid -1
+muid -1
+size 10
+pdblkno 6
+pqpath 6
+mtime 1669260591462739301
+path 14
+version 0
+mode 444
+24 41 18
--- a/tests/test.2/blocks/15
+++ b/tests/test.2/blocks/15
@@ -1,1 +1,13 @@
-Tblank
+Tdentry 14 3
+name frees
+uid -1
+gid -1
+muid -1
+size 10
+pdblkno 6
+pqpath 6
+mtime 1669260591462739301
+path 14
+version 0
+mode 444
+24 41 18
--- a/tests/test.2/blocks/17
+++ b/tests/test.2/blocks/17
@@ -1,1 +1,12 @@
-Tblank
+Tdentry 16 1
+name ctl
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 6
+pqpath 6
+mtime 1669260590169677772
+path 16
+version 0
+mode 444
--- a/tests/test.2/blocks/19
+++ b/tests/test.2/blocks/19
@@ -1,1 +1,12 @@
-Tblank
+Tdentry 18 1
+name staging
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 8
+pqpath 8
+mtime 1669260590170182184
+path 18
+version 0
+mode 444
--- a/tests/test.2/blocks/2
+++ b/tests/test.2/blocks/2
@@ -1,14 +1,18 @@
-Tdentry 2
-name super
+Tdentry 2 2
+name config
 uid -1
 gid -1
 muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668649892762200162
-qid.path 2
-qid.version 0
+size 101
+pdblkno 6
+pqpath 6
+mtime 1669260590169171203
+path 2
+version 0
 mode 444
-qidgen 72
-fsok 1
+size 24576
+nblocks 48
+backup config 2 to 46
+backup super 4 to 44
+backup root 20 to 42
+service test.2
--- a/tests/test.2/blocks/23
+++ b/tests/test.2/blocks/23
@@ -1,1 +1,12 @@
-Tblank
+Tdentry 71 39
+name file1
+uid 10006
+gid -1
+muid 10006
+size 0
+pdblkno 20
+pqpath 20
+mtime 1669260591000000000
+path 71
+version 0
+mode 666
--- a/tests/test.2/blocks/26
+++ b/tests/test.2/blocks/26
@@ -1,49 +1,1 @@
-Tdentry 17
-name root.1
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 5
-pqpath 5
-mtime 1668649894015488239
-qid.path 17
-qid.version 0
-mode 444
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.2/blocks/27
+++ b/tests/test.2/blocks/27
@@ -1,14 +1,1 @@
-Tdentry 16
-name super.1
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 5
-pqpath 5
-mtime 1668649894032404496
-qid.path 16
-qid.version 0
-mode 444
-qidgen 72
-fsok 1
+Tblank
--- a/tests/test.2/blocks/28
+++ b/tests/test.2/blocks/28
@@ -1,18 +1,1 @@
-Tdentry 15
-name config.1
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 5
-pqpath 5
-mtime 1668649892762342531
-qid.path 15
-qid.version 0
-mode 444
-size 24576
-nblocks 48
-backup config 1 to 47 28
-backup super 2 to 46 27
-backup root 10 to 45 26
-service test.2
+Tblank
--- a/tests/test.2/blocks/29
+++ b/tests/test.2/blocks/29
@@ -1,47 +1,1 @@
-Tdata 71
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
-0123456789
+Tblank
--- a/tests/test.2/blocks/3
+++ b/tests/test.2/blocks/3
@@ -1,49 +1,12 @@
-Tdentry 3
-name adm
+Tdentry 2 1
+name config
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 10
-pqpath 10
-mtime 1668649892762295909
-qid.path 3
-qid.version 0
-mode 20000000777
-direct blocks
-	0 1
-	1 2
-	2 4
-	3 5
-	4 7
-	5 8
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+pdblkno 6
+pqpath 6
+mtime 1669260590169171203
+path 2
+version 0
+mode 444
--- a/tests/test.2/blocks/4
+++ b/tests/test.2/blocks/4
@@ -1,49 +1,14 @@
-Tdentry 4
-name users
+Tdentry 4 13
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668649892762302350
-qid.path 4
-qid.version 0
-mode 20000000777
-direct blocks
-	0 6
-	1 9
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669260590166214698
+path 4
+version 0
+mode 444
+qidgen 72
+fsok 1
--- a/tests/test.2/blocks/5
+++ b/tests/test.2/blocks/5
@@ -1,49 +1,14 @@
-Tdentry 5
-name bkp
+Tdentry 4 12
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668649892762298050
-qid.path 5
-qid.version 0
-mode 20000000777
-direct blocks
-	0 47
-	1 46
-	2 45
-	3 28
-	4 27
-	5 26
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669260590166214698
+path 4
+version 0
+mode 444
+qidgen 72
+fsok 0
--- a/tests/test.2/blocks/6
+++ b/tests/test.2/blocks/6
@@ -1,18 +1,1 @@
-Tdentry 6
-name inuse
-uid -1
-gid -1
-muid -1
-size 95
-pdblkno 4
-pqpath 4
-mtime 1668649892762304851
-qid.path 6
-qid.version 0
-mode 444
--1:adm:adm:glenda
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10006:glenda:glenda:
+Tblank
--- a/tests/test.2/blocks/7
+++ b/tests/test.2/blocks/7
@@ -1,14 +1,51 @@
-Tdentry 7
-name frees
+Tdentry 6 1
+name adm
 uid -1
 gid -1
 muid -1
-size 19
-pdblkno 3
-pqpath 3
-mtime 1668649895032420148
-qid.path 7
-qid.version 0
-mode 444
-12 25 14
-29 44 16
+size 0
+pdblkno 20
+pqpath 20
+mtime 1669260590167658665
+path 6
+version 0
+mode 20000000777
+direct blocks
+	0 2
+	1 4
+	2 8
+	3 10
+	4 14
+	5 16
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.2/blocks/8
+++ b/tests/test.2/blocks/8
@@ -1,12 +1,1 @@
-Tdentry 8
-name ctl
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 3
-pqpath 3
-mtime 1668649892762313999
-qid.path 8
-qid.version 0
-mode 444
+Tblank
--- a/tests/test.2/blocks/9
+++ b/tests/test.2/blocks/9
@@ -1,12 +1,51 @@
-Tdentry 9
-name staging
+Tdentry 8 1
+name users
 uid -1
 gid -1
 muid -1
-size 0
-pdblkno 4
-pqpath 4
-mtime 1668649892762325549
-qid.path 9
-qid.version 0
-mode 444
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669260590168165035
+path 8
+version 0
+mode 20000000777
+direct blocks
+	0 12
+	1 18
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.2/notes
+++ b/tests/test.2/notes
@@ -3,48 +3,20 @@
 Write to a /file1 and update the file using different offsets. Check that the contents match after each addition.
 
 block	- description
-0		- magic
-1		- config
-2		- super block
-3		- /adm/ dir entry
-4		- /adm/config dir entry
-5		- /adm/super dir entry
-6		- /adm/bkp/ dir entry
-7	- /adm/bkp/config.0 dir entry
-8	- /adm/bkp/super.0 dir entry
-9	- /adm/bkp/root.0 dir entry
-10	- /adm/bkp/config.1 dir entry
-11	- /adm/bkp/super.1 dir entry
-12	- /adm/bkp/root.1 dir entry
-13		- /adm/users/ dir entry
-14		- /adm/users/inuse dir entry
-15		- /adm/users/inuse contents
-16	- /adm/frees dir entry
-17	- /adm/ctl dir entry -- virtual file, empty contents
+0		- magic dir entry and data
+2		- /adm/config dir entry
+4		- /adm/super dir entry
+6		- /adm/ dir entry
+8		- /adm/users/ dir entry
+10		- /adm/bkp/ dir entry
+12		- /adm/users/inuse dir entry
+14	- /adm/frees dir entry
+16	- /adm/ctl dir entry -- virtual file, empty contents
 18		- /adm/users/staging dir entry
-19		- / direntry
+20		- / direntry
 
-20	- /file1 blank dentry as /file1 was deleted but / still holds onto the dentry
-21	- /adm/frees contents
+22	- /file1 blank dentry as /file1 was deleted but / still holds onto the dentry
 
-22
-23
-24
-25
-
-27	- / direntry
-28	- super block
-29	- config
-
-30
-31
-32
-
-33
-34
-35
-36
-
-37	- / direntry
-38	- super block
-39	- config
+34	- /adm/bkp/root.0 dir entry
+36	- /adm/bkp/super.0 dir entry
+38	- /adm/bkp/config.0 dir entry
--- a/tests/test.3/blocks/0
+++ b/tests/test.3/blocks/0
@@ -1,14 +1,1 @@
-Tdentry 11
-name magic
-uid -1
-gid -1
-muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668650134871793059
-qid.path 11
-qid.version 0
-mode 20000000777
-m[a]fs device
-512
+Tblank
--- a/tests/test.3/blocks/1
+++ b/tests/test.3/blocks/1
@@ -1,18 +1,14 @@
-Tdentry 1
-name config
+Tdentry 1 1
+name magic
 uid -1
 gid -1
 muid -1
-size 134
-pdblkno 3
-pqpath 3
-mtime 1668650134871818250
-qid.path 1
-qid.version 0
-mode 444
-size 20971520
-nblocks 40960
-backup config 1 to 40959 20484
-backup super 2 to 40958 20483
-backup root 10 to 40957 20482
-service test.3
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669260676580344364
+path 1
+version 0
+mode 20000000777
+m[a]fs device
+512
--- a/tests/test.3/blocks/10
+++ b/tests/test.3/blocks/10
@@ -1,49 +1,1 @@
-Tdentry 10
-name /
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 0
-pqpath 0
-mtime 1668650134871816036
-qid.path 10
-qid.version 0
-mode 20000000777
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.3/blocks/2
+++ b/tests/test.3/blocks/2
@@ -1,14 +1,18 @@
-Tdentry 2
-name super
+Tdentry 2 2
+name config
 uid -1
 gid -1
 muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668650134871711955
-qid.path 2
-qid.version 0
+size 116
+pdblkno 6
+pqpath 6
+mtime 1669260676582077529
+path 2
+version 0
 mode 444
-qidgen 74
-fsok 1
+size 20971520
+nblocks 40960
+backup config 2 to 40958
+backup super 4 to 40956
+backup root 20 to 40954
+service test.3
--- a/tests/test.3/blocks/20482
+++ b/tests/test.3/blocks/20482
@@ -1,49 +1,1 @@
-Tdentry 17
-name root.1
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 5
-pqpath 5
-mtime 1668650139186283621
-qid.path 17
-qid.version 0
-mode 444
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.3/blocks/20483
+++ b/tests/test.3/blocks/20483
@@ -1,14 +1,1 @@
-Tdentry 16
-name super.1
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 5
-pqpath 5
-mtime 1668650143804556838
-qid.path 16
-qid.version 0
-mode 444
-qidgen 74
-fsok 1
+Tblank
--- a/tests/test.3/blocks/20484
+++ b/tests/test.3/blocks/20484
@@ -1,18 +1,1 @@
-Tdentry 15
-name config.1
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 5
-pqpath 5
-mtime 1668650134871854537
-qid.path 15
-qid.version 0
-mode 444
-size 20971520
-nblocks 40960
-backup config 1 to 40959 20484
-backup super 2 to 40958 20483
-backup root 10 to 40957 20482
-service test.3
+Tblank
--- a/tests/test.3/blocks/3
+++ b/tests/test.3/blocks/3
@@ -1,49 +1,12 @@
-Tdentry 3
-name adm
+Tdentry 2 1
+name config
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 10
-pqpath 10
-mtime 1668650134871804347
-qid.path 3
-qid.version 0
-mode 20000000777
-direct blocks
-	0 1
-	1 2
-	2 4
-	3 5
-	4 7
-	5 8
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+pdblkno 6
+pqpath 6
+mtime 1669260676582077529
+path 2
+version 0
+mode 444
--- a/tests/test.3/blocks/4
+++ b/tests/test.3/blocks/4
@@ -1,49 +1,14 @@
-Tdentry 4
-name users
+Tdentry 4 15
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668650134871811063
-qid.path 4
-qid.version 0
-mode 20000000777
-direct blocks
-	0 6
-	1 9
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669260676578886629
+path 4
+version 0
+mode 444
+qidgen 74
+fsok 1
--- a/tests/test.3/blocks/40956
+++ b/tests/test.3/blocks/40956
@@ -1,1 +1,14 @@
-Tblank
+Tdentry 5 16
+name super.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669260681235457500
+path 5
+version 0
+mode 444
+qidgen 74
+fsok 1
--- a/tests/test.3/blocks/40957
+++ b/tests/test.3/blocks/40957
@@ -1,49 +1,14 @@
-Tdentry 14
-name root.0
+Tdentry 5 15
+name super.0
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668650139186019680
-qid.path 14
-qid.version 0
+pdblkno 10
+pqpath 10
+mtime 1669260679425146163
+path 5
+version 0
 mode 444
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+qidgen 74
+fsok 0
--- a/tests/test.3/blocks/40958
+++ b/tests/test.3/blocks/40958
@@ -1,14 +1,12 @@
-Tdentry 13
-name super.0
+Tdentry 3 2
+name config.0
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668650143804271338
-qid.path 13
-qid.version 0
+pdblkno 10
+pqpath 10
+mtime 1669260676582321551
+path 3
+version 0
 mode 444
-qidgen 74
-fsok 1
--- a/tests/test.3/blocks/40959
+++ b/tests/test.3/blocks/40959
@@ -1,18 +1,18 @@
-Tdentry 12
+Tdentry 3 3
 name config.0
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668650134871852840
-qid.path 12
-qid.version 0
+pdblkno 10
+pqpath 10
+mtime 1669260676584093809
+path 3
+version 0
 mode 444
 size 20971520
 nblocks 40960
-backup config 1 to 40959 20484
-backup super 2 to 40958 20483
-backup root 10 to 40957 20482
+backup config 2 to 40958
+backup super 4 to 40956
+backup root 20 to 40954
 service test.3
--- a/tests/test.3/blocks/5
+++ b/tests/test.3/blocks/5
@@ -1,49 +1,14 @@
-Tdentry 5
-name bkp
+Tdentry 4 14
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668650134871806663
-qid.path 5
-qid.version 0
-mode 20000000777
-direct blocks
-	0 40959
-	1 40958
-	2 40957
-	3 20484
-	4 20483
-	5 20482
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669260676578886629
+path 4
+version 0
+mode 444
+qidgen 74
+fsok 0
--- a/tests/test.3/blocks/6
+++ b/tests/test.3/blocks/6
@@ -1,18 +1,1 @@
-Tdentry 6
-name inuse
-uid -1
-gid -1
-muid -1
-size 95
-pdblkno 4
-pqpath 4
-mtime 1668650134871813581
-qid.path 6
-qid.version 0
-mode 444
--1:adm:adm:glenda
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10006:glenda:glenda:
+Tblank
--- a/tests/test.3/blocks/7
+++ b/tests/test.3/blocks/7
@@ -1,14 +1,51 @@
-Tdentry 7
-name frees
+Tdentry 6 1
+name adm
 uid -1
 gid -1
 muid -1
-size 34
-pdblkno 3
-pqpath 3
-mtime 1668650143804586946
-qid.path 7
-qid.version 0
-mode 444
-12 20481 20470
-20485 40956 20472
+size 0
+pdblkno 20
+pqpath 20
+mtime 1669260676580554990
+path 6
+version 0
+mode 20000000777
+direct blocks
+	0 2
+	1 4
+	2 8
+	3 10
+	4 14
+	5 16
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.3/blocks/8
+++ b/tests/test.3/blocks/8
@@ -1,12 +1,1 @@
-Tdentry 8
-name ctl
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 3
-pqpath 3
-mtime 1668650134871822706
-qid.path 8
-qid.version 0
-mode 444
+Tblank
--- a/tests/test.3/blocks/9
+++ b/tests/test.3/blocks/9
@@ -1,12 +1,51 @@
-Tdentry 9
-name staging
+Tdentry 8 1
+name users
 uid -1
 gid -1
 muid -1
-size 0
-pdblkno 4
-pqpath 4
-mtime 1668650134871836611
-qid.path 9
-qid.version 0
-mode 444
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669260676581063769
+path 8
+version 0
+mode 20000000777
+direct blocks
+	0 12
+	1 18
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.3/notes
+++ b/tests/test.3/notes
@@ -5,34 +5,20 @@
 for (b in `{seq 22 1 40959}) { echo $b; disk/block -f test.3/disk $b > test.3/blocks/^$b}
 
 block	- description
-0		- magic
-1		- config
-2		- super block
-3		- /adm/ dir entry
-4		- /adm/config dir entry
-5		- /adm/super dir entry
-6		- /adm/bkp/ dir entry
-7	- /adm/bkp/config.0 dir entry
-8	- /adm/bkp/super.0 dir entry
-9	- /adm/bkp/root.0 dir entry
-10	- /adm/bkp/config.1 dir entry
-11	- /adm/bkp/super.1 dir entry
-12	- /adm/bkp/root.1 dir entry
-13		- /adm/users/ dir entry
-14		- /adm/users/inuse dir entry
-15		- /adm/users/inuse contents
-16	- /adm/frees dir entry
-17	- /adm/ctl dir entry -- virtual file, empty contents
+0		- magic dir entry and data
+2		- /adm/config dir entry
+4		- /adm/super dir entry
+6		- /adm/ dir entry
+8		- /adm/users/ dir entry
+10		- /adm/bkp/ dir entry
+12		- /adm/users/inuse dir entry
+14	- /adm/frees dir entry
+16	- /adm/ctl dir entry -- virtual file, empty contents
 18		- /adm/users/staging dir entry
-19		- / direntry
+20		- / direntry
 
 20	- big file blank dentry as the big file was deleted but / still holds onto the dentry
-21	- /adm/frees contents
 
-20487	- / direntry
-20488	- super block
-20489	- config
-
-40957	- / direntry
-40958	- super block
-40959	- config
+40954	- /adm/bkp/root.0 dir entry
+40956	- /adm/bkp/super.0 dir entry
+40958	- /adm/bkp/config.0 dir entry
--- a/tests/test.4/blocks/0
+++ b/tests/test.4/blocks/0
@@ -1,14 +1,1 @@
-Tdentry 11
-name magic
-uid -1
-gid -1
-muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668650208846174676
-qid.path 11
-qid.version 0
-mode 20000000777
-m[a]fs device
-512
+Tblank
--- /dev/null
+++ b/tests/test.4/blocks/1
@@ -1,0 +1,14 @@
+Tdentry 1 1
+name magic
+uid -1
+gid -1
+muid -1
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669260740626022037
+path 1
+version 0
+mode 20000000777
+m[a]fs device
+512
--- a/tests/test.4/notes
+++ b/tests/test.4/notes
@@ -2,34 +2,20 @@
 test dircp using 64 blocks
 
 block	- description
-0		- magic
-1		- config
-2		- super block
-3		- /adm/ dir entry
-4		- /adm/config dir entry
-5		- /adm/super dir entry
-6		- /adm/bkp/ dir entry
-7	- /adm/bkp/config.0 dir entry
-8	- /adm/bkp/super.0 dir entry
-9	- /adm/bkp/root.0 dir entry
-10	- /adm/bkp/config.1 dir entry
-11	- /adm/bkp/super.1 dir entry
-12	- /adm/bkp/root.1 dir entry
-13		- /adm/users/ dir entry
-14		- /adm/users/inuse dir entry
-15		- /adm/users/inuse contents
-16	- /adm/frees dir entry
-17	- /adm/ctl dir entry -- virtual file, empty contents
+0		- magic dir entry and data
+2		- /adm/config dir entry
+4		- /adm/super dir entry
+6		- /adm/ dir entry
+8		- /adm/users/ dir entry
+10		- /adm/bkp/ dir entry
+12		- /adm/users/inuse dir entry
+14	- /adm/frees dir entry
+16	- /adm/ctl dir entry -- virtual file, empty contents
 18		- /adm/users/staging dir entry
-19		- / direntry
+20		- / direntry
 
 20	- big file blank dentry as the big file was deleted but / still holds onto the dentry
-21	- /adm/frees contents
 
-39	- / direntry
-40	- super block
-41	- config
-
-61	- / direntry
-62	- super block
-63	- config
+58	- /adm/bkp/root.0 dir entry
+60	- /adm/bkp/super.0 dir entry
+62	- /adm/bkp/config.0 dir entry
--- a/tests/test.5/blocks/0
+++ b/tests/test.5/blocks/0
@@ -1,14 +1,1 @@
-Tdentry 11
-name magic
-uid -1
-gid -1
-muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668650271138710360
-qid.path 11
-qid.version 0
-mode 20000000777
-m[a]fs device
-512
+Tblank
--- /dev/null
+++ b/tests/test.5/blocks/1
@@ -1,0 +1,14 @@
+Tdentry 1 1
+name magic
+uid -1
+gid -1
+muid -1
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669260769314815927
+path 1
+version 0
+mode 20000000777
+m[a]fs device
+512
--- a/tests/test.6/blocks/0
+++ b/tests/test.6/blocks/0
@@ -1,14 +1,1 @@
-Tdentry 11
-name magic
-uid -1
-gid -1
-muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668650301666628876
-qid.path 11
-qid.version 0
-mode 20000000777
-m[a]fs device
-512
+Tblank
--- a/tests/test.6/blocks/1
+++ b/tests/test.6/blocks/1
@@ -1,18 +1,14 @@
-Tdentry 1
-name config
+Tdentry 1 1
+name magic
 uid -1
 gid -1
 muid -1
-size 110
-pdblkno 3
-pqpath 3
-mtime 1668650301666654674
-qid.path 1
-qid.version 0
-mode 444
-size 16384
-nblocks 32
-backup config 1 to 31 20
-backup super 2 to 30 19
-backup root 10 to 29 18
-service test.6
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669260829229671027
+path 1
+version 0
+mode 20000000777
+m[a]fs device
+512
--- a/tests/test.6/blocks/10
+++ b/tests/test.6/blocks/10
@@ -1,49 +1,1 @@
-Tdentry 10
-name /
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 0
-pqpath 0
-mtime 1668650301666652446
-qid.path 10
-qid.version 0
-mode 20000000777
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.6/blocks/11
+++ b/tests/test.6/blocks/11
@@ -1,19 +1,19 @@
-Tdentry 64
-name dir1
-uid 10006
+Tdentry 10 1
+name bkp
+uid -1
 gid -1
-muid 10006
-size 0
-pdblkno 10
-pqpath 10
-mtime 1668650302800016615
-qid.path 64
-qid.version 0
+muid -1
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669260829230156826
+path 10
+version 0
 mode 20000000777
 direct blocks
-	0 12
-	1 0
-	2 0
+	0 30
+	1 28
+	2 26
 	3 0
 	4 0
 	5 0
@@ -47,3 +47,5 @@
 	0 0
 	1 0
 	2 0
+	3 0
+	4 0
--- a/tests/test.6/blocks/12
+++ b/tests/test.6/blocks/12
@@ -1,13 +1,1 @@
-Tdentry 65
-name file1
-uid 10006
-gid -1
-muid 10006
-size 5
-pdblkno 11
-pqpath 64
-mtime 1668650302802326549
-qid.path 65
-qid.version 0
-mode 666
-test
+Tblank
--- a/tests/test.6/blocks/13
+++ b/tests/test.6/blocks/13
@@ -1,1 +1,18 @@
-Tblank
+Tdentry 12 1
+name inuse
+uid -1
+gid -1
+muid -1
+size 95
+pdblkno 8
+pqpath 8
+mtime 1669260829230651707
+path 12
+version 0
+mode 444
+-1:adm:adm:glenda
+0:none:adm:
+9999:noworld::
+10000:sys::
+10001:upas:upas:
+10006:glenda:glenda:
--- a/tests/test.6/blocks/14
+++ b/tests/test.6/blocks/14
@@ -1,1 +1,12 @@
-Tblank
+Tdentry 14 4
+name frees
+uid -1
+gid -1
+muid -1
+size 1
+pdblkno 6
+pqpath 6
+mtime 1669260831377850683
+path 14
+version 0
+mode 444
--- a/tests/test.6/blocks/15
+++ b/tests/test.6/blocks/15
@@ -1,1 +1,12 @@
-Tblank
+Tdentry 14 3
+name frees
+uid -1
+gid -1
+muid -1
+size 1
+pdblkno 6
+pqpath 6
+mtime 1669260831377850683
+path 14
+version 0
+mode 444
--- a/tests/test.6/blocks/17
+++ b/tests/test.6/blocks/17
@@ -1,1 +1,12 @@
-Tblank
+Tdentry 16 1
+name ctl
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 6
+pqpath 6
+mtime 1669260829231934090
+path 16
+version 0
+mode 444
--- a/tests/test.6/blocks/18
+++ b/tests/test.6/blocks/18
@@ -1,49 +1,1 @@
-Tdentry 17
-name root.1
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 5
-pqpath 5
-mtime 1668650302800042411
-qid.path 17
-qid.version 0
-mode 444
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.6/blocks/19
+++ b/tests/test.6/blocks/19
@@ -1,14 +1,12 @@
-Tdentry 16
-name super.1
+Tdentry 18 1
+name staging
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668650303806586403
-qid.path 16
-qid.version 0
+pdblkno 8
+pqpath 8
+mtime 1669260829232429667
+path 18
+version 0
 mode 444
-qidgen 66
-fsok 1
--- a/tests/test.6/blocks/2
+++ b/tests/test.6/blocks/2
@@ -1,14 +1,18 @@
-Tdentry 2
-name super
+Tdentry 2 2
+name config
 uid -1
 gid -1
 muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668650301666551042
-qid.path 2
-qid.version 0
+size 101
+pdblkno 6
+pqpath 6
+mtime 1669260829231412147
+path 2
+version 0
 mode 444
-qidgen 66
-fsok 1
+size 16384
+nblocks 32
+backup config 2 to 30
+backup super 4 to 28
+backup root 20 to 26
+service test.6
--- a/tests/test.6/blocks/20
+++ b/tests/test.6/blocks/20
@@ -1,18 +1,51 @@
-Tdentry 15
-name config.1
+Tdentry 20 2
+name /
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668650301666687917
-qid.path 15
-qid.version 0
-mode 444
-size 16384
-nblocks 32
-backup config 1 to 31 20
-backup super 2 to 30 19
-backup root 10 to 29 18
-service test.6
+pdblkno 0
+pqpath 0
+mtime 1669260829230901170
+path 20
+version 0
+mode 20000000777
+direct blocks
+	0 6
+	1 22
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.6/blocks/21
+++ b/tests/test.6/blocks/21
@@ -1,1 +1,51 @@
-Tblank
+Tdentry 20 1
+name /
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 0
+pqpath 0
+mtime 1669260829230901170
+path 20
+version 0
+mode 20000000777
+direct blocks
+	0 6
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.6/blocks/22
+++ b/tests/test.6/blocks/22
@@ -1,1 +1,51 @@
-Tblank
+Tdentry 64 2
+name dir1
+uid 10006
+gid -1
+muid 10006
+size 0
+pdblkno 20
+pqpath 20
+mtime 1669260830368747912
+path 64
+version 0
+mode 20000000777
+direct blocks
+	0 24
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.6/blocks/23
+++ b/tests/test.6/blocks/23
@@ -1,1 +1,51 @@
-Tblank
+Tdentry 64 1
+name dir1
+uid 10006
+gid -1
+muid 10006
+size 0
+pdblkno 20
+pqpath 20
+mtime 1669260830368747912
+path 64
+version 0
+mode 20000000777
+direct blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.6/blocks/24
+++ b/tests/test.6/blocks/24
@@ -1,1 +1,12 @@
-Tblank
+Tdentry 65 2
+name file1
+uid 10006
+gid -1
+muid 10006
+size 0
+pdblkno 22
+pqpath 64
+mtime 1669260830000000000
+path 65
+version 0
+mode 666
--- a/tests/test.6/blocks/25
+++ b/tests/test.6/blocks/25
@@ -1,1 +1,13 @@
-Tblank
+Tdentry 65 3
+name file1
+uid 10006
+gid -1
+muid 10006
+size 5
+pdblkno 22
+pqpath 64
+mtime 1669260830372695531
+path 65
+version 0
+mode 666
+test
--- a/tests/test.6/blocks/26
+++ b/tests/test.6/blocks/26
@@ -1,1 +1,51 @@
-Tblank
+Tdentry 21 2
+name root.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669260829231157116
+path 21
+version 0
+mode 444
+direct blocks
+	0 6
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.6/blocks/27
+++ b/tests/test.6/blocks/27
@@ -1,1 +1,51 @@
-Tblank
+Tdentry 21 3
+name root.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669260830369789063
+path 21
+version 0
+mode 444
+direct blocks
+	0 6
+	1 22
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.6/blocks/28
+++ b/tests/test.6/blocks/28
@@ -1,1 +1,14 @@
-Tblank
+Tdentry 5 8
+name super.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669260831377249345
+path 5
+version 0
+mode 444
+qidgen 66
+fsok 1
--- a/tests/test.6/blocks/29
+++ b/tests/test.6/blocks/29
@@ -1,49 +1,14 @@
-Tdentry 14
-name root.0
+Tdentry 5 7
+name super.0
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668650302800040619
-qid.path 14
-qid.version 0
+pdblkno 10
+pqpath 10
+mtime 1669260830371178508
+path 5
+version 0
 mode 444
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+qidgen 66
+fsok 0
--- a/tests/test.6/blocks/3
+++ b/tests/test.6/blocks/3
@@ -1,49 +1,12 @@
-Tdentry 3
-name adm
+Tdentry 2 1
+name config
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 10
-pqpath 10
-mtime 1668650301666640490
-qid.path 3
-qid.version 0
-mode 20000000777
-direct blocks
-	0 1
-	1 2
-	2 4
-	3 5
-	4 7
-	5 8
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+pdblkno 6
+pqpath 6
+mtime 1669260829231412147
+path 2
+version 0
+mode 444
--- a/tests/test.6/blocks/30
+++ b/tests/test.6/blocks/30
@@ -1,14 +1,12 @@
-Tdentry 13
-name super.0
+Tdentry 3 2
+name config.0
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668650303806576354
-qid.path 13
-qid.version 0
+pdblkno 10
+pqpath 10
+mtime 1669260829231673086
+path 3
+version 0
 mode 444
-qidgen 66
-fsok 1
--- a/tests/test.6/blocks/31
+++ b/tests/test.6/blocks/31
@@ -1,18 +1,18 @@
-Tdentry 12
+Tdentry 3 3
 name config.0
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668650301666686226
-qid.path 12
-qid.version 0
+pdblkno 10
+pqpath 10
+mtime 1669260829233454096
+path 3
+version 0
 mode 444
 size 16384
 nblocks 32
-backup config 1 to 31 20
-backup super 2 to 30 19
-backup root 10 to 29 18
+backup config 2 to 30
+backup super 4 to 28
+backup root 20 to 26
 service test.6
--- a/tests/test.6/blocks/4
+++ b/tests/test.6/blocks/4
@@ -1,49 +1,14 @@
-Tdentry 4
-name users
+Tdentry 4 7
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668650301666647507
-qid.path 4
-qid.version 0
-mode 20000000777
-direct blocks
-	0 6
-	1 9
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669260829228461718
+path 4
+version 0
+mode 444
+qidgen 66
+fsok 1
--- a/tests/test.6/blocks/5
+++ b/tests/test.6/blocks/5
@@ -1,49 +1,14 @@
-Tdentry 5
-name bkp
+Tdentry 4 6
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668650301666642816
-qid.path 5
-qid.version 0
-mode 20000000777
-direct blocks
-	0 31
-	1 30
-	2 29
-	3 20
-	4 19
-	5 18
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669260829228461718
+path 4
+version 0
+mode 444
+qidgen 66
+fsok 0
--- a/tests/test.6/blocks/6
+++ b/tests/test.6/blocks/6
@@ -1,18 +1,1 @@
-Tdentry 6
-name inuse
-uid -1
-gid -1
-muid -1
-size 95
-pdblkno 4
-pqpath 4
-mtime 1668650301666650107
-qid.path 6
-qid.version 0
-mode 444
--1:adm:adm:glenda
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10006:glenda:glenda:
+Tblank
--- a/tests/test.6/blocks/7
+++ b/tests/test.6/blocks/7
@@ -1,14 +1,51 @@
-Tdentry 7
-name frees
+Tdentry 6 1
+name adm
 uid -1
 gid -1
 muid -1
-size 17
-pdblkno 3
-pqpath 3
-mtime 1668650304806630670
-qid.path 7
-qid.version 0
-mode 444
-13 17 5
-21 28 8
+size 0
+pdblkno 20
+pqpath 20
+mtime 1669260829229890269
+path 6
+version 0
+mode 20000000777
+direct blocks
+	0 2
+	1 4
+	2 8
+	3 10
+	4 14
+	5 16
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.6/blocks/8
+++ b/tests/test.6/blocks/8
@@ -1,12 +1,1 @@
-Tdentry 8
-name ctl
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 3
-pqpath 3
-mtime 1668650301666659488
-qid.path 8
-qid.version 0
-mode 444
+Tblank
--- a/tests/test.6/blocks/9
+++ b/tests/test.6/blocks/9
@@ -1,12 +1,51 @@
-Tdentry 9
-name staging
+Tdentry 8 1
+name users
 uid -1
 gid -1
 muid -1
-size 0
-pdblkno 4
-pqpath 4
-mtime 1668650301666670919
-qid.path 9
-qid.version 0
-mode 444
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669260829230420555
+path 8
+version 0
+mode 20000000777
+direct blocks
+	0 12
+	1 18
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.7/blocks/0
+++ b/tests/test.7/blocks/0
@@ -1,14 +1,1 @@
-Tdentry 11
-name magic
-uid -1
-gid -1
-muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668652117170008213
-qid.path 11
-qid.version 0
-mode 20000000777
-m[a]fs device
-512
+Tblank
--- /dev/null
+++ b/tests/test.7/blocks/1
@@ -1,0 +1,14 @@
+Tdentry 1 1
+name magic
+uid -1
+gid -1
+muid -1
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669269466654944685
+path 1
+version 0
+mode 20000000777
+m[a]fs device
+512
--- a/tests/test.8/blocks/0
+++ b/tests/test.8/blocks/0
@@ -1,14 +1,1 @@
-Tdentry 11
-name magic
-uid -1
-gid -1
-muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668652159875585297
-qid.path 11
-qid.version 0
-mode 20000000777
-m[a]fs device
-512
+Tblank
--- a/tests/test.8/blocks/1
+++ b/tests/test.8/blocks/1
@@ -1,18 +1,14 @@
-Tdentry 1
-name config
+Tdentry 1 1
+name magic
 uid -1
 gid -1
 muid -1
-size 110
-pdblkno 3
-pqpath 3
-mtime 1668652159875610638
-qid.path 1
-qid.version 0
-mode 444
-size 14336
-nblocks 28
-backup config 1 to 27 18
-backup super 2 to 26 17
-backup root 10 to 25 16
-service test.8
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669308924186530052
+path 1
+version 0
+mode 20000000777
+m[a]fs device
+512
--- a/tests/test.8/blocks/10
+++ b/tests/test.8/blocks/10
@@ -1,49 +1,1 @@
-Tdentry 10
-name /
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 0
-pqpath 0
-mtime 1668652159875608431
-qid.path 10
-qid.version 0
-mode 20000000777
-direct blocks
-	0 3
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.8/blocks/11
+++ b/tests/test.8/blocks/11
@@ -1,1 +1,51 @@
-Tblank
+Tdentry 10 1
+name bkp
+uid -1
+gid -1
+muid -1
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669308924187042475
+path 10
+version 0
+mode 20000000777
+direct blocks
+	0 26
+	1 24
+	2 22
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.8/blocks/13
+++ b/tests/test.8/blocks/13
@@ -1,1 +1,18 @@
-Tblank
+Tdentry 12 1
+name inuse
+uid -1
+gid -1
+muid -1
+size 95
+pdblkno 8
+pqpath 8
+mtime 1669308924187596040
+path 12
+version 0
+mode 444
+-1:adm:adm:glenda
+0:none:adm:
+9999:noworld::
+10000:sys::
+10001:upas:upas:
+10006:glenda:glenda:
--- a/tests/test.8/blocks/14
+++ b/tests/test.8/blocks/14
@@ -1,1 +1,12 @@
-Tblank
+Tdentry 14 4
+name frees
+uid -1
+gid -1
+muid -1
+size 1
+pdblkno 6
+pqpath 6
+mtime 1669308925316454025
+path 14
+version 0
+mode 444
--- a/tests/test.8/blocks/15
+++ b/tests/test.8/blocks/15
@@ -1,1 +1,12 @@
-Tblank
+Tdentry 14 3
+name frees
+uid -1
+gid -1
+muid -1
+size 1
+pdblkno 6
+pqpath 6
+mtime 1669308925316454025
+path 14
+version 0
+mode 444
--- a/tests/test.8/blocks/16
+++ b/tests/test.8/blocks/16
@@ -1,49 +1,1 @@
-Tdentry 17
-name root.1
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 5
-pqpath 5
-mtime 1668652159875549827
-qid.path 17
-qid.version 0
-mode 444
-direct blocks
-	0 16
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.8/blocks/17
+++ b/tests/test.8/blocks/17
@@ -1,14 +1,12 @@
-Tdentry 16
-name super.1
+Tdentry 16 1
+name ctl
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668652161000428146
-qid.path 16
-qid.version 0
+pdblkno 6
+pqpath 6
+mtime 1669308924188906446
+path 16
+version 0
 mode 444
-qidgen 64
-fsok 1
--- a/tests/test.8/blocks/2
+++ b/tests/test.8/blocks/2
@@ -1,14 +1,18 @@
-Tdentry 2
-name super
+Tdentry 2 2
+name config
 uid -1
 gid -1
 muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668652159875512135
-qid.path 2
-qid.version 0
+size 101
+pdblkno 6
+pqpath 6
+mtime 1669308924188362695
+path 2
+version 0
 mode 444
-qidgen 64
-fsok 1
+size 14336
+nblocks 28
+backup config 2 to 26
+backup super 4 to 24
+backup root 20 to 22
+service test.8
--- a/tests/test.8/blocks/21
+++ b/tests/test.8/blocks/21
@@ -1,1 +1,51 @@
-Tblank
+Tdentry 20 1
+name /
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 0
+pqpath 0
+mtime 1669308924187851686
+path 20
+version 0
+mode 20000000777
+direct blocks
+	0 6
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.8/blocks/22
+++ b/tests/test.8/blocks/22
@@ -1,1 +1,51 @@
-Tblank
+Tdentry 21 2
+name root.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669308924188097148
+path 21
+version 0
+mode 444
+direct blocks
+	0 6
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.8/blocks/23
+++ b/tests/test.8/blocks/23
@@ -1,1 +1,51 @@
-Tblank
+Tdentry 21 1
+name root.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669308924185684464
+path 21
+version 0
+mode 444
+direct blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.8/blocks/24
+++ b/tests/test.8/blocks/24
@@ -1,1 +1,14 @@
-Tblank
+Tdentry 5 6
+name super.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669308925315722069
+path 5
+version 0
+mode 444
+qidgen 64
+fsok 1
--- a/tests/test.8/blocks/25
+++ b/tests/test.8/blocks/25
@@ -1,49 +1,14 @@
-Tdentry 14
-name root.0
+Tdentry 5 5
+name super.0
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668652159875536916
-qid.path 14
-qid.version 0
+pdblkno 10
+pqpath 10
+mtime 1669308924192003371
+path 5
+version 0
 mode 444
-direct blocks
-	0 25
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+qidgen 64
+fsok 0
--- a/tests/test.8/blocks/3
+++ b/tests/test.8/blocks/3
@@ -1,49 +1,12 @@
-Tdentry 3
-name adm
+Tdentry 2 1
+name config
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 10
-pqpath 10
-mtime 1668652159875596755
-qid.path 3
-qid.version 0
-mode 20000000777
-direct blocks
-	0 1
-	1 2
-	2 4
-	3 5
-	4 7
-	5 8
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+pdblkno 6
+pqpath 6
+mtime 1669308924188362695
+path 2
+version 0
+mode 444
--- a/tests/test.8/blocks/4
+++ b/tests/test.8/blocks/4
@@ -1,49 +1,14 @@
-Tdentry 4
-name users
+Tdentry 4 5
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668652159875603405
-qid.path 4
-qid.version 0
-mode 20000000777
-direct blocks
-	0 6
-	1 9
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669308924185162962
+path 4
+version 0
+mode 444
+qidgen 64
+fsok 1
--- a/tests/test.8/blocks/5
+++ b/tests/test.8/blocks/5
@@ -1,49 +1,14 @@
-Tdentry 5
-name bkp
+Tdentry 4 4
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668652159875599115
-qid.path 5
-qid.version 0
-mode 20000000777
-direct blocks
-	0 27
-	1 26
-	2 25
-	3 18
-	4 17
-	5 16
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669308924185162962
+path 4
+version 0
+mode 444
+qidgen 64
+fsok 0
--- a/tests/test.8/blocks/6
+++ b/tests/test.8/blocks/6
@@ -1,18 +1,1 @@
-Tdentry 6
-name inuse
-uid -1
-gid -1
-muid -1
-size 95
-pdblkno 4
-pqpath 4
-mtime 1668652159875605941
-qid.path 6
-qid.version 0
-mode 444
--1:adm:adm:glenda
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10006:glenda:glenda:
+Tblank
--- a/tests/test.8/blocks/7
+++ b/tests/test.8/blocks/7
@@ -1,14 +1,51 @@
-Tdentry 7
-name frees
+Tdentry 6 1
+name adm
 uid -1
 gid -1
 muid -1
-size 17
-pdblkno 3
-pqpath 3
-mtime 1668652162000027275
-qid.path 7
-qid.version 0
-mode 444
-11 15 5
-19 24 6
+size 0
+pdblkno 20
+pqpath 20
+mtime 1669308924186779294
+path 6
+version 0
+mode 20000000777
+direct blocks
+	0 2
+	1 4
+	2 8
+	3 10
+	4 14
+	5 16
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.8/blocks/8
+++ b/tests/test.8/blocks/8
@@ -1,12 +1,1 @@
-Tdentry 8
-name ctl
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 3
-pqpath 3
-mtime 1668652159875615287
-qid.path 8
-qid.version 0
-mode 444
+Tblank
--- a/tests/test.8/blocks/9
+++ b/tests/test.8/blocks/9
@@ -1,12 +1,51 @@
-Tdentry 9
-name staging
+Tdentry 8 1
+name users
 uid -1
 gid -1
 muid -1
-size 0
-pdblkno 4
-pqpath 4
-mtime 1668652159875625824
-qid.path 9
-qid.version 0
-mode 444
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669308924187330511
+path 8
+version 0
+mode 20000000777
+direct blocks
+	0 12
+	1 18
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.8/notes
+++ b/tests/test.8/notes
@@ -2,31 +2,19 @@
 minimal number of blocks to test out the config assignment
 
 block	- description
-0		- magic
-1		- config
-2		- super block
-3		- /adm/ dir entry
-4		- /adm/config dir entry
-5		- /adm/super dir entry
-6		- /adm/bkp/ dir entry
-7	- /adm/bkp/config.0 dir entry
-8	- /adm/bkp/super.0 dir entry
-9	- /adm/bkp/root.0 dir entry
-10	- /adm/bkp/config.1 dir entry
-11	- /adm/bkp/super.1 dir entry
-12	- /adm/bkp/root.1 dir entry
-13		- /adm/users/ dir entry
-14		- /adm/users/inuse dir entry
-15		- /adm/users/inuse contents
-16	- /adm/frees dir entry
-17	- /adm/ctl dir entry -- virtual file, empty contents
+0		- magic dir entry and data
+2		- /adm/config dir entry
+4		- /adm/super dir entry
+6		- /adm/ dir entry
+8		- /adm/users/ dir entry
+10		- /adm/bkp/ dir entry
+12		- /adm/users/inuse dir entry
+14	- /adm/frees dir entry
+16	- /adm/ctl dir entry -- virtual file, empty contents
 18		- /adm/users/staging dir entry
-19		- / direntry
+20		- / direntry
 
-20	- / direntry
-21	- super block
-22	- config
 
-23	- / direntry
-24	- super block
-25	- config
+22	- /adm/bkp/root.0 dir entry
+24	- /adm/bkp/super.0 dir entry
+26	- /adm/bkp/config.0 dir entry
--- a/tests/test.9/blocks/0
+++ b/tests/test.9/blocks/0
@@ -1,14 +1,1 @@
-Tdentry 11
-name magic
-uid -1
-gid -1
-muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668653022095165750
-qid.path 11
-qid.version 0
-mode 20000000777
-m[a]fs device
-512
+Tblank
--- a/tests/test.9/blocks/1
+++ b/tests/test.9/blocks/1
@@ -1,18 +1,14 @@
-Tdentry 1
-name config
+Tdentry 1 1
+name magic
 uid -1
 gid -1
 muid -1
-size 138
-pdblkno 3
-pqpath 3
-mtime 1668653022095190715
-qid.path 1
-qid.version 0
-mode 444
-size 67108864
-nblocks 131072
-backup config 1 to 131071 65540
-backup super 2 to 131070 65539
-backup root 10 to 131069 65538
-service test.9
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669270931198684454
+path 1
+version 0
+mode 20000000777
+m[a]fs device
+512
--- a/tests/test.9/blocks/10
+++ b/tests/test.9/blocks/10
@@ -1,49 +1,1 @@
-Tdentry 10
-name /
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 0
-pqpath 0
-mtime 1668653022095188588
-qid.path 10
-qid.version 0
-mode 20000000777
-direct blocks
-	0 3
-	1 11
-	2 13
-	3 16
-	4 4066
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.9/blocks/11
+++ b/tests/test.9/blocks/11
@@ -1,19 +1,19 @@
-Tdentry 64
-name dir1
-uid 10006
+Tdentry 10 1
+name bkp
+uid -1
 gid -1
-muid 10006
-size 0
-pdblkno 10
-pqpath 10
-mtime 1668653023229137295
-qid.path 64
-qid.version 0
+muid -1
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669270931199170141
+path 10
+version 0
 mode 20000000777
 direct blocks
-	0 12
-	1 0
-	2 0
+	0 131070
+	1 131068
+	2 131066
 	3 0
 	4 0
 	5 0
@@ -47,3 +47,5 @@
 	0 0
 	1 0
 	2 0
+	3 0
+	4 0
--- a/tests/test.9/blocks/12
+++ b/tests/test.9/blocks/12
@@ -1,13 +1,1 @@
-Tdentry 65
-name file1
-uid 10006
-gid -1
-muid 10006
-size 5
-pdblkno 11
-pqpath 64
-mtime 1668653023231061192
-qid.path 65
-qid.version 0
-mode 666
-test
+Tblank
--- a/tests/test.9/blocks/13
+++ b/tests/test.9/blocks/13
@@ -1,49 +1,18 @@
-Tdentry 66
-name dir2
-uid 10006
+Tdentry 12 1
+name inuse
+uid -1
 gid -1
-muid 10006
-size 0
-pdblkno 10
-pqpath 10
-mtime 1668653023231774498
-qid.path 66
-qid.version 0
-mode 20000000777
-direct blocks
-	0 14
-	1 15
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+muid -1
+size 95
+pdblkno 8
+pqpath 8
+mtime 1669270931199697233
+path 12
+version 0
+mode 444
+-1:adm:adm:glenda
+0:none:adm:
+9999:noworld::
+10000:sys::
+10001:upas:upas:
+10006:glenda:glenda:
--- a/tests/test.9/blocks/14
+++ b/tests/test.9/blocks/14
@@ -1,13 +1,13 @@
-Tdentry 67
-name file1
-uid 10006
+Tdentry 14 4
+name frees
+uid -1
 gid -1
-muid 10006
-size 5
-pdblkno 13
-pqpath 66
-mtime 1668653023233464579
-qid.path 67
-qid.version 0
-mode 666
-test
+muid -1
+size 20
+pdblkno 6
+pqpath 6
+mtime 1669270934104065732
+path 14
+version 0
+mode 444
+55372 131065 75694
--- a/tests/test.9/blocks/15
+++ b/tests/test.9/blocks/15
@@ -1,13 +1,13 @@
-Tdentry 68
-name file2
-uid 10006
+Tdentry 14 3
+name frees
+uid -1
 gid -1
-muid 10006
-size 5
-pdblkno 13
-pqpath 66
-mtime 1668653023235381987
-qid.path 68
-qid.version 0
-mode 666
-test
+muid -1
+size 20
+pdblkno 6
+pqpath 6
+mtime 1669270934104065732
+path 14
+version 0
+mode 444
+55372 131065 75694
--- a/tests/test.9/blocks/16
+++ b/tests/test.9/blocks/16
@@ -1,49 +1,1 @@
-Tdentry 69
-name dir3
-uid 10006
-gid -1
-muid 10006
-size 0
-pdblkno 10
-pqpath 10
-mtime 1668653023236141719
-qid.path 69
-qid.version 0
-mode 20000000777
-direct blocks
-	0 17
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.9/blocks/17
+++ b/tests/test.9/blocks/17
@@ -1,49 +1,12 @@
-Tdentry 70
-name 2MB.file
-uid 10006
+Tdentry 16 1
+name ctl
+uid -1
 gid -1
-muid 10006
-size 2056192
-pdblkno 16
-pqpath 69
-mtime 1665294406000000000
-qid.path 70
-qid.version 0
-mode 664
-direct blocks
-	0 18
-	1 34
-	2 50
-	3 66
-	4 82
-	5 98
-	6 114
-	7 130
-	8 146
-	9 162
-	10 178
-	11 194
-	12 210
-	13 226
-	14 242
-	15 258
-	16 274
-	17 290
-	18 306
-	19 322
-	20 338
-	21 354
-	22 370
-	23 386
-	24 402
-	25 418
-	26 434
-	27 450
-	28 466
-	29 482
-	30 498
-	31 514
-indirect blocks
-	0 546
-	1 0
-	2 0
+muid -1
+size 0
+pdblkno 6
+pqpath 6
+mtime 1669270931201076442
+path 16
+version 0
+mode 444
--- a/tests/test.9/blocks/18
+++ b/tests/test.9/blocks/18
@@ -1,554 +1,1 @@
-Tdata 70
-0 0123456789
-1 0123456789
-2 0123456789
-3 0123456789
-4 0123456789
-5 0123456789
-6 0123456789
-7 0123456789
-8 0123456789
-9 0123456789
-10 0123456789
-11 0123456789
-12 0123456789
-13 0123456789
-14 0123456789
-15 0123456789
-16 0123456789
-17 0123456789
-18 0123456789
-19 0123456789
-20 0123456789
-21 0123456789
-22 0123456789
-23 0123456789
-24 0123456789
-25 0123456789
-26 0123456789
-27 0123456789
-28 0123456789
-29 0123456789
-30 0123456789
-31 0123456789
-32 0123456789
-33 0123456789
-34 0123456789
-35 0123456789
-36 0123456789
-37 0123456789
-38 0123456789
-39 0123456789
-40 0123456789
-41 0123456789
-42 0123456789
-43 0123456789
-44 0123456789
-45 0123456789
-46 0123456789
-47 0123456789
-48 0123456789
-49 0123456789
-50 0123456789
-51 0123456789
-52 0123456789
-53 0123456789
-54 0123456789
-55 0123456789
-56 0123456789
-57 0123456789
-58 0123456789
-59 0123456789
-60 0123456789
-61 0123456789
-62 0123456789
-63 0123456789
-64 0123456789
-65 0123456789
-66 0123456789
-67 0123456789
-68 0123456789
-69 0123456789
-70 0123456789
-71 0123456789
-72 0123456789
-73 0123456789
-74 0123456789
-75 0123456789
-76 0123456789
-77 0123456789
-78 0123456789
-79 0123456789
-80 0123456789
-81 0123456789
-82 0123456789
-83 0123456789
-84 0123456789
-85 0123456789
-86 0123456789
-87 0123456789
-88 0123456789
-89 0123456789
-90 0123456789
-91 0123456789
-92 0123456789
-93 0123456789
-94 0123456789
-95 0123456789
-96 0123456789
-97 0123456789
-98 0123456789
-99 0123456789
-100 0123456789
-101 0123456789
-102 0123456789
-103 0123456789
-104 0123456789
-105 0123456789
-106 0123456789
-107 0123456789
-108 0123456789
-109 0123456789
-110 0123456789
-111 0123456789
-112 0123456789
-113 0123456789
-114 0123456789
-115 0123456789
-116 0123456789
-117 0123456789
-118 0123456789
-119 0123456789
-120 0123456789
-121 0123456789
-122 0123456789
-123 0123456789
-124 0123456789
-125 0123456789
-126 0123456789
-127 0123456789
-128 0123456789
-129 0123456789
-130 0123456789
-131 0123456789
-132 0123456789
-133 0123456789
-134 0123456789
-135 0123456789
-136 0123456789
-137 0123456789
-138 0123456789
-139 0123456789
-140 0123456789
-141 0123456789
-142 0123456789
-143 0123456789
-144 0123456789
-145 0123456789
-146 0123456789
-147 0123456789
-148 0123456789
-149 0123456789
-150 0123456789
-151 0123456789
-152 0123456789
-153 0123456789
-154 0123456789
-155 0123456789
-156 0123456789
-157 0123456789
-158 0123456789
-159 0123456789
-160 0123456789
-161 0123456789
-162 0123456789
-163 0123456789
-164 0123456789
-165 0123456789
-166 0123456789
-167 0123456789
-168 0123456789
-169 0123456789
-170 0123456789
-171 0123456789
-172 0123456789
-173 0123456789
-174 0123456789
-175 0123456789
-176 0123456789
-177 0123456789
-178 0123456789
-179 0123456789
-180 0123456789
-181 0123456789
-182 0123456789
-183 0123456789
-184 0123456789
-185 0123456789
-186 0123456789
-187 0123456789
-188 0123456789
-189 0123456789
-190 0123456789
-191 0123456789
-192 0123456789
-193 0123456789
-194 0123456789
-195 0123456789
-196 0123456789
-197 0123456789
-198 0123456789
-199 0123456789
-200 0123456789
-201 0123456789
-202 0123456789
-203 0123456789
-204 0123456789
-205 0123456789
-206 0123456789
-207 0123456789
-208 0123456789
-209 0123456789
-210 0123456789
-211 0123456789
-212 0123456789
-213 0123456789
-214 0123456789
-215 0123456789
-216 0123456789
-217 0123456789
-218 0123456789
-219 0123456789
-220 0123456789
-221 0123456789
-222 0123456789
-223 0123456789
-224 0123456789
-225 0123456789
-226 0123456789
-227 0123456789
-228 0123456789
-229 0123456789
-230 0123456789
-231 0123456789
-232 0123456789
-233 0123456789
-234 0123456789
-235 0123456789
-236 0123456789
-237 0123456789
-238 0123456789
-239 0123456789
-240 0123456789
-241 0123456789
-242 0123456789
-243 0123456789
-244 0123456789
-245 0123456789
-246 0123456789
-247 0123456789
-248 0123456789
-249 0123456789
-250 0123456789
-251 0123456789
-252 0123456789
-253 0123456789
-254 0123456789
-255 0123456789
-256 0123456789
-257 0123456789
-258 0123456789
-259 0123456789
-260 0123456789
-261 0123456789
-262 0123456789
-263 0123456789
-264 0123456789
-265 0123456789
-266 0123456789
-267 0123456789
-268 0123456789
-269 0123456789
-270 0123456789
-271 0123456789
-272 0123456789
-273 0123456789
-274 0123456789
-275 0123456789
-276 0123456789
-277 0123456789
-278 0123456789
-279 0123456789
-280 0123456789
-281 0123456789
-282 0123456789
-283 0123456789
-284 0123456789
-285 0123456789
-286 0123456789
-287 0123456789
-288 0123456789
-289 0123456789
-290 0123456789
-291 0123456789
-292 0123456789
-293 0123456789
-294 0123456789
-295 0123456789
-296 0123456789
-297 0123456789
-298 0123456789
-299 0123456789
-300 0123456789
-301 0123456789
-302 0123456789
-303 0123456789
-304 0123456789
-305 0123456789
-306 0123456789
-307 0123456789
-308 0123456789
-309 0123456789
-310 0123456789
-311 0123456789
-312 0123456789
-313 0123456789
-314 0123456789
-315 0123456789
-316 0123456789
-317 0123456789
-318 0123456789
-319 0123456789
-320 0123456789
-321 0123456789
-322 0123456789
-323 0123456789
-324 0123456789
-325 0123456789
-326 0123456789
-327 0123456789
-328 0123456789
-329 0123456789
-330 0123456789
-331 0123456789
-332 0123456789
-333 0123456789
-334 0123456789
-335 0123456789
-336 0123456789
-337 0123456789
-338 0123456789
-339 0123456789
-340 0123456789
-341 0123456789
-342 0123456789
-343 0123456789
-344 0123456789
-345 0123456789
-346 0123456789
-347 0123456789
-348 0123456789
-349 0123456789
-350 0123456789
-351 0123456789
-352 0123456789
-353 0123456789
-354 0123456789
-355 0123456789
-356 0123456789
-357 0123456789
-358 0123456789
-359 0123456789
-360 0123456789
-361 0123456789
-362 0123456789
-363 0123456789
-364 0123456789
-365 0123456789
-366 0123456789
-367 0123456789
-368 0123456789
-369 0123456789
-370 0123456789
-371 0123456789
-372 0123456789
-373 0123456789
-374 0123456789
-375 0123456789
-376 0123456789
-377 0123456789
-378 0123456789
-379 0123456789
-380 0123456789
-381 0123456789
-382 0123456789
-383 0123456789
-384 0123456789
-385 0123456789
-386 0123456789
-387 0123456789
-388 0123456789
-389 0123456789
-390 0123456789
-391 0123456789
-392 0123456789
-393 0123456789
-394 0123456789
-395 0123456789
-396 0123456789
-397 0123456789
-398 0123456789
-399 0123456789
-400 0123456789
-401 0123456789
-402 0123456789
-403 0123456789
-404 0123456789
-405 0123456789
-406 0123456789
-407 0123456789
-408 0123456789
-409 0123456789
-410 0123456789
-411 0123456789
-412 0123456789
-413 0123456789
-414 0123456789
-415 0123456789
-416 0123456789
-417 0123456789
-418 0123456789
-419 0123456789
-420 0123456789
-421 0123456789
-422 0123456789
-423 0123456789
-424 0123456789
-425 0123456789
-426 0123456789
-427 0123456789
-428 0123456789
-429 0123456789
-430 0123456789
-431 0123456789
-432 0123456789
-433 0123456789
-434 0123456789
-435 0123456789
-436 0123456789
-437 0123456789
-438 0123456789
-439 0123456789
-440 0123456789
-441 0123456789
-442 0123456789
-443 0123456789
-444 0123456789
-445 0123456789
-446 0123456789
-447 0123456789
-448 0123456789
-449 0123456789
-450 0123456789
-451 0123456789
-452 0123456789
-453 0123456789
-454 0123456789
-455 0123456789
-456 0123456789
-457 0123456789
-458 0123456789
-459 0123456789
-460 0123456789
-461 0123456789
-462 0123456789
-463 0123456789
-464 0123456789
-465 0123456789
-466 0123456789
-467 0123456789
-468 0123456789
-469 0123456789
-470 0123456789
-471 0123456789
-472 0123456789
-473 0123456789
-474 0123456789
-475 0123456789
-476 0123456789
-477 0123456789
-478 0123456789
-479 0123456789
-480 0123456789
-481 0123456789
-482 0123456789
-483 0123456789
-484 0123456789
-485 0123456789
-486 0123456789
-487 0123456789
-488 0123456789
-489 0123456789
-490 0123456789
-491 0123456789
-492 0123456789
-493 0123456789
-494 0123456789
-495 0123456789
-496 0123456789
-497 0123456789
-498 0123456789
-499 0123456789
-500 0123456789
-501 0123456789
-502 0123456789
-503 0123456789
-504 0123456789
-505 0123456789
-506 0123456789
-507 0123456789
-508 0123456789
-509 0123456789
-510 0123456789
-511 0123456789
-512 0123456789
-513 0123456789
-514 0123456789
-515 0123456789
-516 0123456789
-517 0123456789
-518 0123456789
-519 0123456789
-520 0123456789
-521 0123456789
-522 0123456789
-523 0123456789
-524 0123456789
-525 0123456789
-526 0123456789
-527 0123456789
-528 0123456789
-529 0123456789
-530 0123456789
-531 0123456789
-532 0123456789
-533 0123456789
-534 0123456789
-535 0123456789
-536 0123456789
-537 0123456789
-538 0123456789
-539 0123456789
-540 0123456789
-541 0123456789
-542 0123456789
-543 0123456789
-544 0123456789
-545 0123456789
-546 0123456789
-547 0123456789
-548 0123456789
-549 0123456789
-550 0123456789
-551 0123456789
-552 012345678F
\ No newline at end of file
+Tblank
--- a/tests/test.9/blocks/2
+++ b/tests/test.9/blocks/2
@@ -1,14 +1,18 @@
-Tdentry 2
-name super
+Tdentry 2 2
+name config
 uid -1
 gid -1
 muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668653022095080093
-qid.path 2
-qid.version 0
+size 120
+pdblkno 6
+pqpath 6
+mtime 1669270931200539019
+path 2
+version 0
 mode 444
-qidgen 73
-fsok 1
+size 67108864
+nblocks 131072
+backup config 2 to 131070
+backup super 4 to 131068
+backup root 20 to 131066
+service test.9
--- a/tests/test.9/blocks/4
+++ b/tests/test.9/blocks/4
@@ -1,49 +1,14 @@
-Tdentry 4
-name users
+Tdentry 4 13
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668653022095183752
-qid.path 4
-qid.version 0
-mode 20000000777
-direct blocks
-	0 6
-	1 9
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669270931197078532
+path 4
+version 0
+mode 444
+qidgen 73
+fsok 0
--- a/tests/test.9/blocks/4067
+++ /dev/null
@@ -1,49 +1,0 @@
-Tdentry 72
-name 25MB.file
-uid 10006
-gid -1
-muid 10006
-size 26214400
-pdblkno 4066
-pqpath 71
-mtime 1665292864000000000
-qid.path 72
-qid.version 0
-mode 664
-direct blocks
-	0 4068
-	1 4084
-	2 4100
-	3 4116
-	4 4132
-	5 4148
-	6 4164
-	7 4180
-	8 4196
-	9 4212
-	10 4228
-	11 4244
-	12 4260
-	13 4276
-	14 4292
-	15 4308
-	16 4324
-	17 4340
-	18 4356
-	19 4372
-	20 4388
-	21 4404
-	22 4420
-	23 4436
-	24 4452
-	25 4468
-	26 4484
-	27 4500
-	28 4516
-	29 4532
-	30 4548
-	31 4564
-indirect blocks
-	0 4596
-	1 20964
-	2 0
--- a/tests/test.9/blocks/4068
+++ /dev/null
@@ -1,554 +1,0 @@
-Tdata 72
-0 0123456789
-1 0123456789
-2 0123456789
-3 0123456789
-4 0123456789
-5 0123456789
-6 0123456789
-7 0123456789
-8 0123456789
-9 0123456789
-10 0123456789
-11 0123456789
-12 0123456789
-13 0123456789
-14 0123456789
-15 0123456789
-16 0123456789
-17 0123456789
-18 0123456789
-19 0123456789
-20 0123456789
-21 0123456789
-22 0123456789
-23 0123456789
-24 0123456789
-25 0123456789
-26 0123456789
-27 0123456789
-28 0123456789
-29 0123456789
-30 0123456789
-31 0123456789
-32 0123456789
-33 0123456789
-34 0123456789
-35 0123456789
-36 0123456789
-37 0123456789
-38 0123456789
-39 0123456789
-40 0123456789
-41 0123456789
-42 0123456789
-43 0123456789
-44 0123456789
-45 0123456789
-46 0123456789
-47 0123456789
-48 0123456789
-49 0123456789
-50 0123456789
-51 0123456789
-52 0123456789
-53 0123456789
-54 0123456789
-55 0123456789
-56 0123456789
-57 0123456789
-58 0123456789
-59 0123456789
-60 0123456789
-61 0123456789
-62 0123456789
-63 0123456789
-64 0123456789
-65 0123456789
-66 0123456789
-67 0123456789
-68 0123456789
-69 0123456789
-70 0123456789
-71 0123456789
-72 0123456789
-73 0123456789
-74 0123456789
-75 0123456789
-76 0123456789
-77 0123456789
-78 0123456789
-79 0123456789
-80 0123456789
-81 0123456789
-82 0123456789
-83 0123456789
-84 0123456789
-85 0123456789
-86 0123456789
-87 0123456789
-88 0123456789
-89 0123456789
-90 0123456789
-91 0123456789
-92 0123456789
-93 0123456789
-94 0123456789
-95 0123456789
-96 0123456789
-97 0123456789
-98 0123456789
-99 0123456789
-100 0123456789
-101 0123456789
-102 0123456789
-103 0123456789
-104 0123456789
-105 0123456789
-106 0123456789
-107 0123456789
-108 0123456789
-109 0123456789
-110 0123456789
-111 0123456789
-112 0123456789
-113 0123456789
-114 0123456789
-115 0123456789
-116 0123456789
-117 0123456789
-118 0123456789
-119 0123456789
-120 0123456789
-121 0123456789
-122 0123456789
-123 0123456789
-124 0123456789
-125 0123456789
-126 0123456789
-127 0123456789
-128 0123456789
-129 0123456789
-130 0123456789
-131 0123456789
-132 0123456789
-133 0123456789
-134 0123456789
-135 0123456789
-136 0123456789
-137 0123456789
-138 0123456789
-139 0123456789
-140 0123456789
-141 0123456789
-142 0123456789
-143 0123456789
-144 0123456789
-145 0123456789
-146 0123456789
-147 0123456789
-148 0123456789
-149 0123456789
-150 0123456789
-151 0123456789
-152 0123456789
-153 0123456789
-154 0123456789
-155 0123456789
-156 0123456789
-157 0123456789
-158 0123456789
-159 0123456789
-160 0123456789
-161 0123456789
-162 0123456789
-163 0123456789
-164 0123456789
-165 0123456789
-166 0123456789
-167 0123456789
-168 0123456789
-169 0123456789
-170 0123456789
-171 0123456789
-172 0123456789
-173 0123456789
-174 0123456789
-175 0123456789
-176 0123456789
-177 0123456789
-178 0123456789
-179 0123456789
-180 0123456789
-181 0123456789
-182 0123456789
-183 0123456789
-184 0123456789
-185 0123456789
-186 0123456789
-187 0123456789
-188 0123456789
-189 0123456789
-190 0123456789
-191 0123456789
-192 0123456789
-193 0123456789
-194 0123456789
-195 0123456789
-196 0123456789
-197 0123456789
-198 0123456789
-199 0123456789
-200 0123456789
-201 0123456789
-202 0123456789
-203 0123456789
-204 0123456789
-205 0123456789
-206 0123456789
-207 0123456789
-208 0123456789
-209 0123456789
-210 0123456789
-211 0123456789
-212 0123456789
-213 0123456789
-214 0123456789
-215 0123456789
-216 0123456789
-217 0123456789
-218 0123456789
-219 0123456789
-220 0123456789
-221 0123456789
-222 0123456789
-223 0123456789
-224 0123456789
-225 0123456789
-226 0123456789
-227 0123456789
-228 0123456789
-229 0123456789
-230 0123456789
-231 0123456789
-232 0123456789
-233 0123456789
-234 0123456789
-235 0123456789
-236 0123456789
-237 0123456789
-238 0123456789
-239 0123456789
-240 0123456789
-241 0123456789
-242 0123456789
-243 0123456789
-244 0123456789
-245 0123456789
-246 0123456789
-247 0123456789
-248 0123456789
-249 0123456789
-250 0123456789
-251 0123456789
-252 0123456789
-253 0123456789
-254 0123456789
-255 0123456789
-256 0123456789
-257 0123456789
-258 0123456789
-259 0123456789
-260 0123456789
-261 0123456789
-262 0123456789
-263 0123456789
-264 0123456789
-265 0123456789
-266 0123456789
-267 0123456789
-268 0123456789
-269 0123456789
-270 0123456789
-271 0123456789
-272 0123456789
-273 0123456789
-274 0123456789
-275 0123456789
-276 0123456789
-277 0123456789
-278 0123456789
-279 0123456789
-280 0123456789
-281 0123456789
-282 0123456789
-283 0123456789
-284 0123456789
-285 0123456789
-286 0123456789
-287 0123456789
-288 0123456789
-289 0123456789
-290 0123456789
-291 0123456789
-292 0123456789
-293 0123456789
-294 0123456789
-295 0123456789
-296 0123456789
-297 0123456789
-298 0123456789
-299 0123456789
-300 0123456789
-301 0123456789
-302 0123456789
-303 0123456789
-304 0123456789
-305 0123456789
-306 0123456789
-307 0123456789
-308 0123456789
-309 0123456789
-310 0123456789
-311 0123456789
-312 0123456789
-313 0123456789
-314 0123456789
-315 0123456789
-316 0123456789
-317 0123456789
-318 0123456789
-319 0123456789
-320 0123456789
-321 0123456789
-322 0123456789
-323 0123456789
-324 0123456789
-325 0123456789
-326 0123456789
-327 0123456789
-328 0123456789
-329 0123456789
-330 0123456789
-331 0123456789
-332 0123456789
-333 0123456789
-334 0123456789
-335 0123456789
-336 0123456789
-337 0123456789
-338 0123456789
-339 0123456789
-340 0123456789
-341 0123456789
-342 0123456789
-343 0123456789
-344 0123456789
-345 0123456789
-346 0123456789
-347 0123456789
-348 0123456789
-349 0123456789
-350 0123456789
-351 0123456789
-352 0123456789
-353 0123456789
-354 0123456789
-355 0123456789
-356 0123456789
-357 0123456789
-358 0123456789
-359 0123456789
-360 0123456789
-361 0123456789
-362 0123456789
-363 0123456789
-364 0123456789
-365 0123456789
-366 0123456789
-367 0123456789
-368 0123456789
-369 0123456789
-370 0123456789
-371 0123456789
-372 0123456789
-373 0123456789
-374 0123456789
-375 0123456789
-376 0123456789
-377 0123456789
-378 0123456789
-379 0123456789
-380 0123456789
-381 0123456789
-382 0123456789
-383 0123456789
-384 0123456789
-385 0123456789
-386 0123456789
-387 0123456789
-388 0123456789
-389 0123456789
-390 0123456789
-391 0123456789
-392 0123456789
-393 0123456789
-394 0123456789
-395 0123456789
-396 0123456789
-397 0123456789
-398 0123456789
-399 0123456789
-400 0123456789
-401 0123456789
-402 0123456789
-403 0123456789
-404 0123456789
-405 0123456789
-406 0123456789
-407 0123456789
-408 0123456789
-409 0123456789
-410 0123456789
-411 0123456789
-412 0123456789
-413 0123456789
-414 0123456789
-415 0123456789
-416 0123456789
-417 0123456789
-418 0123456789
-419 0123456789
-420 0123456789
-421 0123456789
-422 0123456789
-423 0123456789
-424 0123456789
-425 0123456789
-426 0123456789
-427 0123456789
-428 0123456789
-429 0123456789
-430 0123456789
-431 0123456789
-432 0123456789
-433 0123456789
-434 0123456789
-435 0123456789
-436 0123456789
-437 0123456789
-438 0123456789
-439 0123456789
-440 0123456789
-441 0123456789
-442 0123456789
-443 0123456789
-444 0123456789
-445 0123456789
-446 0123456789
-447 0123456789
-448 0123456789
-449 0123456789
-450 0123456789
-451 0123456789
-452 0123456789
-453 0123456789
-454 0123456789
-455 0123456789
-456 0123456789
-457 0123456789
-458 0123456789
-459 0123456789
-460 0123456789
-461 0123456789
-462 0123456789
-463 0123456789
-464 0123456789
-465 0123456789
-466 0123456789
-467 0123456789
-468 0123456789
-469 0123456789
-470 0123456789
-471 0123456789
-472 0123456789
-473 0123456789
-474 0123456789
-475 0123456789
-476 0123456789
-477 0123456789
-478 0123456789
-479 0123456789
-480 0123456789
-481 0123456789
-482 0123456789
-483 0123456789
-484 0123456789
-485 0123456789
-486 0123456789
-487 0123456789
-488 0123456789
-489 0123456789
-490 0123456789
-491 0123456789
-492 0123456789
-493 0123456789
-494 0123456789
-495 0123456789
-496 0123456789
-497 0123456789
-498 0123456789
-499 0123456789
-500 0123456789
-501 0123456789
-502 0123456789
-503 0123456789
-504 0123456789
-505 0123456789
-506 0123456789
-507 0123456789
-508 0123456789
-509 0123456789
-510 0123456789
-511 0123456789
-512 0123456789
-513 0123456789
-514 0123456789
-515 0123456789
-516 0123456789
-517 0123456789
-518 0123456789
-519 0123456789
-520 0123456789
-521 0123456789
-522 0123456789
-523 0123456789
-524 0123456789
-525 0123456789
-526 0123456789
-527 0123456789
-528 0123456789
-529 0123456789
-530 0123456789
-531 0123456789
-532 0123456789
-533 0123456789
-534 0123456789
-535 0123456789
-536 0123456789
-537 0123456789
-538 0123456789
-539 0123456789
-540 0123456789
-541 0123456789
-542 0123456789
-543 0123456789
-544 0123456789
-545 0123456789
-546 0123456789
-547 0123456789
-548 0123456789
-549 0123456789
-550 0123456789
-551 0123456789
-552 012345678H
\ No newline at end of file
--- a/tests/test.9/blocks/4580
+++ /dev/null
@@ -1,484 +1,0 @@
-Tdata 72
-89
-16057 0123456789
-16058 0123456789
-16059 0123456789
-16060 0123456789
-16061 0123456789
-16062 0123456789
-16063 0123456789
-16064 0123456789
-16065 0123456789
-16066 0123456789
-16067 0123456789
-16068 0123456789
-16069 0123456789
-16070 0123456789
-16071 0123456789
-16072 0123456789
-16073 0123456789
-16074 0123456789
-16075 0123456789
-16076 0123456789
-16077 0123456789
-16078 0123456789
-16079 0123456789
-16080 0123456789
-16081 0123456789
-16082 0123456789
-16083 0123456789
-16084 0123456789
-16085 0123456789
-16086 0123456789
-16087 0123456789
-16088 0123456789
-16089 0123456789
-16090 0123456789
-16091 0123456789
-16092 0123456789
-16093 0123456789
-16094 0123456789
-16095 0123456789
-16096 0123456789
-16097 0123456789
-16098 0123456789
-16099 0123456789
-16100 0123456789
-16101 0123456789
-16102 0123456789
-16103 0123456789
-16104 0123456789
-16105 0123456789
-16106 0123456789
-16107 0123456789
-16108 0123456789
-16109 0123456789
-16110 0123456789
-16111 0123456789
-16112 0123456789
-16113 0123456789
-16114 0123456789
-16115 0123456789
-16116 0123456789
-16117 0123456789
-16118 0123456789
-16119 0123456789
-16120 0123456789
-16121 0123456789
-16122 0123456789
-16123 0123456789
-16124 0123456789
-16125 0123456789
-16126 0123456789
-16127 0123456789
-16128 0123456789
-16129 0123456789
-16130 0123456789
-16131 0123456789
-16132 0123456789
-16133 0123456789
-16134 0123456789
-16135 0123456789
-16136 0123456789
-16137 0123456789
-16138 0123456789
-16139 0123456789
-16140 0123456789
-16141 0123456789
-16142 0123456789
-16143 0123456789
-16144 0123456789
-16145 0123456789
-16146 0123456789
-16147 0123456789
-16148 0123456789
-16149 0123456789
-16150 0123456789
-16151 0123456789
-16152 0123456789
-16153 0123456789
-16154 0123456789
-16155 0123456789
-16156 0123456789
-16157 0123456789
-16158 0123456789
-16159 0123456789
-16160 0123456789
-16161 0123456789
-16162 0123456789
-16163 0123456789
-16164 0123456789
-16165 0123456789
-16166 0123456789
-16167 0123456789
-16168 0123456789
-16169 0123456789
-16170 0123456789
-16171 0123456789
-16172 0123456789
-16173 0123456789
-16174 0123456789
-16175 0123456789
-16176 0123456789
-16177 0123456789
-16178 0123456789
-16179 0123456789
-16180 0123456789
-16181 0123456789
-16182 0123456789
-16183 0123456789
-16184 0123456789
-16185 0123456789
-16186 0123456789
-16187 0123456789
-16188 0123456789
-16189 0123456789
-16190 0123456789
-16191 0123456789
-16192 0123456789
-16193 0123456789
-16194 0123456789
-16195 0123456789
-16196 0123456789
-16197 0123456789
-16198 0123456789
-16199 0123456789
-16200 0123456789
-16201 0123456789
-16202 0123456789
-16203 0123456789
-16204 0123456789
-16205 0123456789
-16206 0123456789
-16207 0123456789
-16208 0123456789
-16209 0123456789
-16210 0123456789
-16211 0123456789
-16212 0123456789
-16213 0123456789
-16214 0123456789
-16215 0123456789
-16216 0123456789
-16217 0123456789
-16218 0123456789
-16219 0123456789
-16220 0123456789
-16221 0123456789
-16222 0123456789
-16223 0123456789
-16224 0123456789
-16225 0123456789
-16226 0123456789
-16227 0123456789
-16228 0123456789
-16229 0123456789
-16230 0123456789
-16231 0123456789
-16232 0123456789
-16233 0123456789
-16234 0123456789
-16235 0123456789
-16236 0123456789
-16237 0123456789
-16238 0123456789
-16239 0123456789
-16240 0123456789
-16241 0123456789
-16242 0123456789
-16243 0123456789
-16244 0123456789
-16245 0123456789
-16246 0123456789
-16247 0123456789
-16248 0123456789
-16249 0123456789
-16250 0123456789
-16251 0123456789
-16252 0123456789
-16253 0123456789
-16254 0123456789
-16255 0123456789
-16256 0123456789
-16257 0123456789
-16258 0123456789
-16259 0123456789
-16260 0123456789
-16261 0123456789
-16262 0123456789
-16263 0123456789
-16264 0123456789
-16265 0123456789
-16266 0123456789
-16267 0123456789
-16268 0123456789
-16269 0123456789
-16270 0123456789
-16271 0123456789
-16272 0123456789
-16273 0123456789
-16274 0123456789
-16275 0123456789
-16276 0123456789
-16277 0123456789
-16278 0123456789
-16279 0123456789
-16280 0123456789
-16281 0123456789
-16282 0123456789
-16283 0123456789
-16284 0123456789
-16285 0123456789
-16286 0123456789
-16287 0123456789
-16288 0123456789
-16289 0123456789
-16290 0123456789
-16291 0123456789
-16292 0123456789
-16293 0123456789
-16294 0123456789
-16295 0123456789
-16296 0123456789
-16297 0123456789
-16298 0123456789
-16299 0123456789
-16300 0123456789
-16301 0123456789
-16302 0123456789
-16303 0123456789
-16304 0123456789
-16305 0123456789
-16306 0123456789
-16307 0123456789
-16308 0123456789
-16309 0123456789
-16310 0123456789
-16311 0123456789
-16312 0123456789
-16313 0123456789
-16314 0123456789
-16315 0123456789
-16316 0123456789
-16317 0123456789
-16318 0123456789
-16319 0123456789
-16320 0123456789
-16321 0123456789
-16322 0123456789
-16323 0123456789
-16324 0123456789
-16325 0123456789
-16326 0123456789
-16327 0123456789
-16328 0123456789
-16329 0123456789
-16330 0123456789
-16331 0123456789
-16332 0123456789
-16333 0123456789
-16334 0123456789
-16335 0123456789
-16336 0123456789
-16337 0123456789
-16338 0123456789
-16339 0123456789
-16340 0123456789
-16341 0123456789
-16342 0123456789
-16343 0123456789
-16344 0123456789
-16345 0123456789
-16346 0123456789
-16347 0123456789
-16348 0123456789
-16349 0123456789
-16350 0123456789
-16351 0123456789
-16352 0123456789
-16353 0123456789
-16354 0123456789
-16355 0123456789
-16356 0123456789
-16357 0123456789
-16358 0123456789
-16359 0123456789
-16360 0123456789
-16361 0123456789
-16362 0123456789
-16363 0123456789
-16364 0123456789
-16365 0123456789
-16366 0123456789
-16367 0123456789
-16368 0123456789
-16369 0123456789
-16370 0123456789
-16371 0123456789
-16372 0123456789
-16373 0123456789
-16374 0123456789
-16375 0123456789
-16376 0123456789
-16377 0123456789
-16378 0123456789
-16379 0123456789
-16380 0123456789
-16381 0123456789
-16382 0123456789
-16383 0123456789
-16384 0123456789
-16385 0123456789
-16386 0123456789
-16387 0123456789
-16388 0123456789
-16389 0123456789
-16390 0123456789
-16391 0123456789
-16392 0123456789
-16393 0123456789
-16394 0123456789
-16395 0123456789
-16396 0123456789
-16397 0123456789
-16398 0123456789
-16399 0123456789
-16400 0123456789
-16401 0123456789
-16402 0123456789
-16403 0123456789
-16404 0123456789
-16405 0123456789
-16406 0123456789
-16407 0123456789
-16408 0123456789
-16409 0123456789
-16410 0123456789
-16411 0123456789
-16412 0123456789
-16413 0123456789
-16414 0123456789
-16415 0123456789
-16416 0123456789
-16417 0123456789
-16418 0123456789
-16419 0123456789
-16420 0123456789
-16421 0123456789
-16422 0123456789
-16423 0123456789
-16424 0123456789
-16425 0123456789
-16426 0123456789
-16427 0123456789
-16428 0123456789
-16429 0123456789
-16430 0123456789
-16431 0123456789
-16432 0123456789
-16433 0123456789
-16434 0123456789
-16435 0123456789
-16436 0123456789
-16437 0123456789
-16438 0123456789
-16439 0123456789
-16440 0123456789
-16441 0123456789
-16442 0123456789
-16443 0123456789
-16444 0123456789
-16445 0123456789
-16446 0123456789
-16447 0123456789
-16448 0123456789
-16449 0123456789
-16450 0123456789
-16451 0123456789
-16452 0123456789
-16453 0123456789
-16454 0123456789
-16455 0123456789
-16456 0123456789
-16457 0123456789
-16458 0123456789
-16459 0123456789
-16460 0123456789
-16461 0123456789
-16462 0123456789
-16463 0123456789
-16464 0123456789
-16465 0123456789
-16466 0123456789
-16467 0123456789
-16468 0123456789
-16469 0123456789
-16470 0123456789
-16471 0123456789
-16472 0123456789
-16473 0123456789
-16474 0123456789
-16475 0123456789
-16476 0123456789
-16477 0123456789
-16478 0123456789
-16479 0123456789
-16480 0123456789
-16481 0123456789
-16482 0123456789
-16483 0123456789
-16484 0123456789
-16485 0123456789
-16486 0123456789
-16487 0123456789
-16488 0123456789
-16489 0123456789
-16490 0123456789
-16491 0123456789
-16492 0123456789
-16493 0123456789
-16494 0123456789
-16495 0123456789
-16496 0123456789
-16497 0123456789
-16498 0123456789
-16499 0123456789
-16500 0123456789
-16501 0123456789
-16502 0123456789
-16503 0123456789
-16504 0123456789
-16505 0123456789
-16506 0123456789
-16507 0123456789
-16508 0123456789
-16509 0123456789
-16510 0123456789
-16511 0123456789
-16512 0123456789
-16513 0123456789
-16514 0123456789
-16515 0123456789
-16516 0123456789
-16517 0123456789
-16518 0123456789
-16519 0123456789
-16520 0123456789
-16521 0123456789
-16522 0123456789
-16523 0123456789
-16524 0123456789
-16525 0123456789
-16526 0123456789
-16527 0123456789
-16528 0123456789
-16529 0123456789
-16530 0123456789
-16531 0123456789
-16532 0123456789
-16533 0123456789
-16534 0123456789
-16535 0123456789
-16536 0123456789
-16537 0123456789
-165H
\ No newline at end of file
--- a/tests/test.9/blocks/4596
+++ /dev/null
@@ -1,1023 +1,0 @@
-Tind0 72
-	0 4580
-	1 4612
-	2 4628
-	3 4644
-	4 4660
-	5 4676
-	6 4692
-	7 4708
-	8 4724
-	9 4740
-	10 4756
-	11 4772
-	12 4788
-	13 4804
-	14 4820
-	15 4836
-	16 4852
-	17 4868
-	18 4884
-	19 4900
-	20 4916
-	21 4932
-	22 4948
-	23 4964
-	24 4980
-	25 4996
-	26 5012
-	27 5028
-	28 5044
-	29 5060
-	30 5076
-	31 5092
-	32 5108
-	33 5124
-	34 5140
-	35 5156
-	36 5172
-	37 5188
-	38 5204
-	39 5220
-	40 5236
-	41 5252
-	42 5268
-	43 5284
-	44 5300
-	45 5316
-	46 5332
-	47 5348
-	48 5364
-	49 5380
-	50 5396
-	51 5412
-	52 5428
-	53 5444
-	54 5460
-	55 5476
-	56 5492
-	57 5508
-	58 5524
-	59 5540
-	60 5556
-	61 5572
-	62 5588
-	63 5604
-	64 5620
-	65 5636
-	66 5652
-	67 5668
-	68 5684
-	69 5700
-	70 5716
-	71 5732
-	72 5748
-	73 5764
-	74 5780
-	75 5796
-	76 5812
-	77 5828
-	78 5844
-	79 5860
-	80 5876
-	81 5892
-	82 5908
-	83 5924
-	84 5940
-	85 5956
-	86 5972
-	87 5988
-	88 6004
-	89 6020
-	90 6036
-	91 6052
-	92 6068
-	93 6084
-	94 6100
-	95 6116
-	96 6132
-	97 6148
-	98 6164
-	99 6180
-	100 6196
-	101 6212
-	102 6228
-	103 6244
-	104 6260
-	105 6276
-	106 6292
-	107 6308
-	108 6324
-	109 6340
-	110 6356
-	111 6372
-	112 6388
-	113 6404
-	114 6420
-	115 6436
-	116 6452
-	117 6468
-	118 6484
-	119 6500
-	120 6516
-	121 6532
-	122 6548
-	123 6564
-	124 6580
-	125 6596
-	126 6612
-	127 6628
-	128 6644
-	129 6660
-	130 6676
-	131 6692
-	132 6708
-	133 6724
-	134 6740
-	135 6756
-	136 6772
-	137 6788
-	138 6804
-	139 6820
-	140 6836
-	141 6852
-	142 6868
-	143 6884
-	144 6900
-	145 6916
-	146 6932
-	147 6948
-	148 6964
-	149 6980
-	150 6996
-	151 7012
-	152 7028
-	153 7044
-	154 7060
-	155 7076
-	156 7092
-	157 7108
-	158 7124
-	159 7140
-	160 7156
-	161 7172
-	162 7188
-	163 7204
-	164 7220
-	165 7236
-	166 7252
-	167 7268
-	168 7284
-	169 7300
-	170 7316
-	171 7332
-	172 7348
-	173 7364
-	174 7380
-	175 7396
-	176 7412
-	177 7428
-	178 7444
-	179 7460
-	180 7476
-	181 7492
-	182 7508
-	183 7524
-	184 7540
-	185 7556
-	186 7572
-	187 7588
-	188 7604
-	189 7620
-	190 7636
-	191 7652
-	192 7668
-	193 7684
-	194 7700
-	195 7716
-	196 7732
-	197 7748
-	198 7764
-	199 7780
-	200 7796
-	201 7812
-	202 7828
-	203 7844
-	204 7860
-	205 7876
-	206 7892
-	207 7908
-	208 7924
-	209 7940
-	210 7956
-	211 7972
-	212 7988
-	213 8004
-	214 8020
-	215 8036
-	216 8052
-	217 8068
-	218 8084
-	219 8100
-	220 8116
-	221 8132
-	222 8148
-	223 8164
-	224 8180
-	225 8196
-	226 8212
-	227 8228
-	228 8244
-	229 8260
-	230 8276
-	231 8292
-	232 8308
-	233 8324
-	234 8340
-	235 8356
-	236 8372
-	237 8388
-	238 8404
-	239 8420
-	240 8436
-	241 8452
-	242 8468
-	243 8484
-	244 8500
-	245 8516
-	246 8532
-	247 8548
-	248 8564
-	249 8580
-	250 8596
-	251 8612
-	252 8628
-	253 8644
-	254 8660
-	255 8676
-	256 8692
-	257 8708
-	258 8724
-	259 8740
-	260 8756
-	261 8772
-	262 8788
-	263 8804
-	264 8820
-	265 8836
-	266 8852
-	267 8868
-	268 8884
-	269 8900
-	270 8916
-	271 8932
-	272 8948
-	273 8964
-	274 8980
-	275 8996
-	276 9012
-	277 9028
-	278 9044
-	279 9060
-	280 9076
-	281 9092
-	282 9108
-	283 9124
-	284 9140
-	285 9156
-	286 9172
-	287 9188
-	288 9204
-	289 9220
-	290 9236
-	291 9252
-	292 9268
-	293 9284
-	294 9300
-	295 9316
-	296 9332
-	297 9348
-	298 9364
-	299 9380
-	300 9396
-	301 9412
-	302 9428
-	303 9444
-	304 9460
-	305 9476
-	306 9492
-	307 9508
-	308 9524
-	309 9540
-	310 9556
-	311 9572
-	312 9588
-	313 9604
-	314 9620
-	315 9636
-	316 9652
-	317 9668
-	318 9684
-	319 9700
-	320 9716
-	321 9732
-	322 9748
-	323 9764
-	324 9780
-	325 9796
-	326 9812
-	327 9828
-	328 9844
-	329 9860
-	330 9876
-	331 9892
-	332 9908
-	333 9924
-	334 9940
-	335 9956
-	336 9972
-	337 9988
-	338 10004
-	339 10020
-	340 10036
-	341 10052
-	342 10068
-	343 10084
-	344 10100
-	345 10116
-	346 10132
-	347 10148
-	348 10164
-	349 10180
-	350 10196
-	351 10212
-	352 10228
-	353 10244
-	354 10260
-	355 10276
-	356 10292
-	357 10308
-	358 10324
-	359 10340
-	360 10356
-	361 10372
-	362 10388
-	363 10404
-	364 10420
-	365 10436
-	366 10452
-	367 10468
-	368 10484
-	369 10500
-	370 10516
-	371 10532
-	372 10548
-	373 10564
-	374 10580
-	375 10596
-	376 10612
-	377 10628
-	378 10644
-	379 10660
-	380 10676
-	381 10692
-	382 10708
-	383 10724
-	384 10740
-	385 10756
-	386 10772
-	387 10788
-	388 10804
-	389 10820
-	390 10836
-	391 10852
-	392 10868
-	393 10884
-	394 10900
-	395 10916
-	396 10932
-	397 10948
-	398 10964
-	399 10980
-	400 10996
-	401 11012
-	402 11028
-	403 11044
-	404 11060
-	405 11076
-	406 11092
-	407 11108
-	408 11124
-	409 11140
-	410 11156
-	411 11172
-	412 11188
-	413 11204
-	414 11220
-	415 11236
-	416 11252
-	417 11268
-	418 11284
-	419 11300
-	420 11316
-	421 11332
-	422 11348
-	423 11364
-	424 11380
-	425 11396
-	426 11412
-	427 11428
-	428 11444
-	429 11460
-	430 11476
-	431 11492
-	432 11508
-	433 11524
-	434 11540
-	435 11556
-	436 11572
-	437 11588
-	438 11604
-	439 11620
-	440 11636
-	441 11652
-	442 11668
-	443 11684
-	444 11700
-	445 11716
-	446 11732
-	447 11748
-	448 11764
-	449 11780
-	450 11796
-	451 11812
-	452 11828
-	453 11844
-	454 11860
-	455 11876
-	456 11892
-	457 11908
-	458 11924
-	459 11940
-	460 11956
-	461 11972
-	462 11988
-	463 12004
-	464 12020
-	465 12036
-	466 12052
-	467 12068
-	468 12084
-	469 12100
-	470 12116
-	471 12132
-	472 12148
-	473 12164
-	474 12180
-	475 12196
-	476 12212
-	477 12228
-	478 12244
-	479 12260
-	480 12276
-	481 12292
-	482 12308
-	483 12324
-	484 12340
-	485 12356
-	486 12372
-	487 12388
-	488 12404
-	489 12420
-	490 12436
-	491 12452
-	492 12468
-	493 12484
-	494 12500
-	495 12516
-	496 12532
-	497 12548
-	498 12564
-	499 12580
-	500 12596
-	501 12612
-	502 12628
-	503 12644
-	504 12660
-	505 12676
-	506 12692
-	507 12708
-	508 12724
-	509 12740
-	510 12756
-	511 12772
-	512 12788
-	513 12804
-	514 12820
-	515 12836
-	516 12852
-	517 12868
-	518 12884
-	519 12900
-	520 12916
-	521 12932
-	522 12948
-	523 12964
-	524 12980
-	525 12996
-	526 13012
-	527 13028
-	528 13044
-	529 13060
-	530 13076
-	531 13092
-	532 13108
-	533 13124
-	534 13140
-	535 13156
-	536 13172
-	537 13188
-	538 13204
-	539 13220
-	540 13236
-	541 13252
-	542 13268
-	543 13284
-	544 13300
-	545 13316
-	546 13332
-	547 13348
-	548 13364
-	549 13380
-	550 13396
-	551 13412
-	552 13428
-	553 13444
-	554 13460
-	555 13476
-	556 13492
-	557 13508
-	558 13524
-	559 13540
-	560 13556
-	561 13572
-	562 13588
-	563 13604
-	564 13620
-	565 13636
-	566 13652
-	567 13668
-	568 13684
-	569 13700
-	570 13716
-	571 13732
-	572 13748
-	573 13764
-	574 13780
-	575 13796
-	576 13812
-	577 13828
-	578 13844
-	579 13860
-	580 13876
-	581 13892
-	582 13908
-	583 13924
-	584 13940
-	585 13956
-	586 13972
-	587 13988
-	588 14004
-	589 14020
-	590 14036
-	591 14052
-	592 14068
-	593 14084
-	594 14100
-	595 14116
-	596 14132
-	597 14148
-	598 14164
-	599 14180
-	600 14196
-	601 14212
-	602 14228
-	603 14244
-	604 14260
-	605 14276
-	606 14292
-	607 14308
-	608 14324
-	609 14340
-	610 14356
-	611 14372
-	612 14388
-	613 14404
-	614 14420
-	615 14436
-	616 14452
-	617 14468
-	618 14484
-	619 14500
-	620 14516
-	621 14532
-	622 14548
-	623 14564
-	624 14580
-	625 14596
-	626 14612
-	627 14628
-	628 14644
-	629 14660
-	630 14676
-	631 14692
-	632 14708
-	633 14724
-	634 14740
-	635 14756
-	636 14772
-	637 14788
-	638 14804
-	639 14820
-	640 14836
-	641 14852
-	642 14868
-	643 14884
-	644 14900
-	645 14916
-	646 14932
-	647 14948
-	648 14964
-	649 14980
-	650 14996
-	651 15012
-	652 15028
-	653 15044
-	654 15060
-	655 15076
-	656 15092
-	657 15108
-	658 15124
-	659 15140
-	660 15156
-	661 15172
-	662 15188
-	663 15204
-	664 15220
-	665 15236
-	666 15252
-	667 15268
-	668 15284
-	669 15300
-	670 15316
-	671 15332
-	672 15348
-	673 15364
-	674 15380
-	675 15396
-	676 15412
-	677 15428
-	678 15444
-	679 15460
-	680 15476
-	681 15492
-	682 15508
-	683 15524
-	684 15540
-	685 15556
-	686 15572
-	687 15588
-	688 15604
-	689 15620
-	690 15636
-	691 15652
-	692 15668
-	693 15684
-	694 15700
-	695 15716
-	696 15732
-	697 15748
-	698 15764
-	699 15780
-	700 15796
-	701 15812
-	702 15828
-	703 15844
-	704 15860
-	705 15876
-	706 15892
-	707 15908
-	708 15924
-	709 15940
-	710 15956
-	711 15972
-	712 15988
-	713 16004
-	714 16020
-	715 16036
-	716 16052
-	717 16068
-	718 16084
-	719 16100
-	720 16116
-	721 16132
-	722 16148
-	723 16164
-	724 16180
-	725 16196
-	726 16212
-	727 16228
-	728 16244
-	729 16260
-	730 16276
-	731 16292
-	732 16308
-	733 16324
-	734 16340
-	735 16356
-	736 16372
-	737 16388
-	738 16404
-	739 16420
-	740 16436
-	741 16452
-	742 16468
-	743 16484
-	744 16500
-	745 16516
-	746 16532
-	747 16548
-	748 16564
-	749 16580
-	750 16596
-	751 16612
-	752 16628
-	753 16644
-	754 16660
-	755 16676
-	756 16692
-	757 16708
-	758 16724
-	759 16740
-	760 16756
-	761 16772
-	762 16788
-	763 16804
-	764 16820
-	765 16836
-	766 16852
-	767 16868
-	768 16884
-	769 16900
-	770 16916
-	771 16932
-	772 16948
-	773 16964
-	774 16980
-	775 16996
-	776 17012
-	777 17028
-	778 17044
-	779 17060
-	780 17076
-	781 17092
-	782 17108
-	783 17124
-	784 17140
-	785 17156
-	786 17172
-	787 17188
-	788 17204
-	789 17220
-	790 17236
-	791 17252
-	792 17268
-	793 17284
-	794 17300
-	795 17316
-	796 17332
-	797 17348
-	798 17364
-	799 17380
-	800 17396
-	801 17412
-	802 17428
-	803 17444
-	804 17460
-	805 17476
-	806 17492
-	807 17508
-	808 17524
-	809 17540
-	810 17556
-	811 17572
-	812 17588
-	813 17604
-	814 17620
-	815 17636
-	816 17652
-	817 17668
-	818 17684
-	819 17700
-	820 17716
-	821 17732
-	822 17748
-	823 17764
-	824 17780
-	825 17796
-	826 17812
-	827 17828
-	828 17844
-	829 17860
-	830 17876
-	831 17892
-	832 17908
-	833 17924
-	834 17940
-	835 17956
-	836 17972
-	837 17988
-	838 18004
-	839 18020
-	840 18036
-	841 18052
-	842 18068
-	843 18084
-	844 18100
-	845 18116
-	846 18132
-	847 18148
-	848 18164
-	849 18180
-	850 18196
-	851 18212
-	852 18228
-	853 18244
-	854 18260
-	855 18276
-	856 18292
-	857 18308
-	858 18324
-	859 18340
-	860 18356
-	861 18372
-	862 18388
-	863 18404
-	864 18420
-	865 18436
-	866 18452
-	867 18468
-	868 18484
-	869 18500
-	870 18516
-	871 18532
-	872 18548
-	873 18564
-	874 18580
-	875 18596
-	876 18612
-	877 18628
-	878 18644
-	879 18660
-	880 18676
-	881 18692
-	882 18708
-	883 18724
-	884 18740
-	885 18756
-	886 18772
-	887 18788
-	888 18804
-	889 18820
-	890 18836
-	891 18852
-	892 18868
-	893 18884
-	894 18900
-	895 18916
-	896 18932
-	897 18948
-	898 18964
-	899 18980
-	900 18996
-	901 19012
-	902 19028
-	903 19044
-	904 19060
-	905 19076
-	906 19092
-	907 19108
-	908 19124
-	909 19140
-	910 19156
-	911 19172
-	912 19188
-	913 19204
-	914 19220
-	915 19236
-	916 19252
-	917 19268
-	918 19284
-	919 19300
-	920 19316
-	921 19332
-	922 19348
-	923 19364
-	924 19380
-	925 19396
-	926 19412
-	927 19428
-	928 19444
-	929 19460
-	930 19476
-	931 19492
-	932 19508
-	933 19524
-	934 19540
-	935 19556
-	936 19572
-	937 19588
-	938 19604
-	939 19620
-	940 19636
-	941 19652
-	942 19668
-	943 19684
-	944 19700
-	945 19716
-	946 19732
-	947 19748
-	948 19764
-	949 19780
-	950 19796
-	951 19812
-	952 19828
-	953 19844
-	954 19860
-	955 19876
-	956 19892
-	957 19908
-	958 19924
-	959 19940
-	960 19956
-	961 19972
-	962 19988
-	963 20004
-	964 20020
-	965 20036
-	966 20052
-	967 20068
-	968 20084
-	969 20100
-	970 20116
-	971 20132
-	972 20148
-	973 20164
-	974 20180
-	975 20196
-	976 20212
-	977 20228
-	978 20244
-	979 20260
-	980 20276
-	981 20292
-	982 20308
-	983 20324
-	984 20340
-	985 20356
-	986 20372
-	987 20388
-	988 20404
-	989 20420
-	990 20436
-	991 20452
-	992 20468
-	993 20484
-	994 20500
-	995 20516
-	996 20532
-	997 20548
-	998 20564
-	999 20580
-	1000 20596
-	1001 20612
-	1002 20628
-	1003 20644
-	1004 20660
-	1005 20676
-	1006 20692
-	1007 20708
-	1008 20724
-	1009 20740
-	1010 20756
-	1011 20772
-	1012 20788
-	1013 20804
-	1014 20820
-	1015 20836
-	1016 20852
-	1017 20868
-	1018 20884
-	1019 20900
-	1020 20916
-	1021 20932
--- a/tests/test.9/blocks/5
+++ b/tests/test.9/blocks/5
@@ -1,49 +1,14 @@
-Tdentry 5
-name bkp
+Tdentry 4 14
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668653022095179515
-qid.path 5
-qid.version 0
-mode 20000000777
-direct blocks
-	0 131071
-	1 131070
-	2 131069
-	3 65540
-	4 65539
-	5 65538
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669270931197078532
+path 4
+version 0
+mode 444
+qidgen 73
+fsok 1
--- a/tests/test.9/blocks/6
+++ b/tests/test.9/blocks/6
@@ -1,18 +1,1 @@
-Tdentry 6
-name inuse
-uid -1
-gid -1
-muid -1
-size 95
-pdblkno 4
-pqpath 4
-mtime 1668653022095186233
-qid.path 6
-qid.version 0
-mode 444
--1:adm:adm:glenda
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10006:glenda:glenda:
+Tblank
--- a/tests/test.9/blocks/7
+++ b/tests/test.9/blocks/7
@@ -1,14 +1,51 @@
-Tdentry 7
-name frees
+Tdentry 6 1
+name adm
 uid -1
 gid -1
 muid -1
-size 38
-pdblkno 3
-pqpath 3
-mtime 1668653033907771135
-qid.path 7
-qid.version 0
-mode 444
-55412 65537 10126
-65541 131068 65528
+size 0
+pdblkno 20
+pqpath 20
+mtime 1669270931198911471
+path 6
+version 0
+mode 20000000777
+direct blocks
+	0 2
+	1 4
+	2 8
+	3 10
+	4 14
+	5 16
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.9/blocks/8
+++ b/tests/test.9/blocks/8
@@ -1,12 +1,1 @@
-Tdentry 8
-name ctl
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 3
-pqpath 3
-mtime 1668653022095194966
-qid.path 8
-qid.version 0
-mode 444
+Tblank
--- a/tests/test.9/blocks/9
+++ b/tests/test.9/blocks/9
@@ -1,12 +1,51 @@
-Tdentry 9
-name staging
+Tdentry 8 1
+name users
 uid -1
 gid -1
 muid -1
-size 0
-pdblkno 4
-pqpath 4
-mtime 1668653022095207450
-qid.path 9
-qid.version 0
-mode 444
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669270931199432300
+path 8
+version 0
+mode 20000000777
+direct blocks
+	0 12
+	1 18
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.9/notes
+++ b/tests/test.9/notes
@@ -1,43 +1,28 @@
-Creates a disk of 61440 blocks and builds the directory entries used by mafs.pdf for examples.
+Creates a disk of 131072 blocks and builds the directory entries used by mafs.pdf for examples.
 
 block	- description
-0		- magic
-1		- config
-2		- super block
-3		- /adm/ dir entry
-4		- /adm/config dir entry
-5		- /adm/super dir entry
-6		- /adm/bkp/ dir entry
-7	- /adm/bkp/config.0 dir entry
-8	- /adm/bkp/super.0 dir entry
-9	- /adm/bkp/root.0 dir entry
-10	- /adm/bkp/config.1 dir entry
-11	- /adm/bkp/super.1 dir entry
-12	- /adm/bkp/root.1 dir entry
-13		- /adm/users/ dir entry
-14		- /adm/users/inuse dir entry
-15		- /adm/users/inuse contents
-16	- /adm/frees dir entry
-17	- /adm/ctl dir entry -- virtual file, empty contents
+0		- magic dir entry and data
+2		- /adm/config dir entry
+4		- /adm/super dir entry
+6		- /adm/ dir entry
+8		- /adm/users/ dir entry
+10		- /adm/bkp/ dir entry
+12		- /adm/users/inuse dir entry
+14	- /adm/frees dir entry
+16	- /adm/ctl dir entry -- virtual file, empty contents
 18		- /adm/users/staging dir entry
-19		- / direntry
+20		- / direntry
 
-20	- /dir1 directory entry
-21	- /dir1/file1 directory entry
-22	- /dir1/file1 contents
+22	- /dir1 directory entry
+24	- /dir1/file1 directory entry
+26	- /dir1/file1 contents
 
-23	- /dir2 directory entry
-24	- /dir2/file1 directory entry
-25	- /dir1/file1 contents
-26	- /dir2/file2 directory entry
-27	- /dir1/file2 contents
+28	- /dir2 directory entry
+30	- /dir2/file1 directory entry
+32	- /dir1/file1 contents
+34	- /dir2/file2 directory entry
+36	- /dir1/file2 contents
 
-57162	- /adm/frees contents
-
-65543	- / direntry
-65544	- super block
-65545	- config
-
-131069	- / direntry
-131070	- super block
-131071	- config
+131066	- /adm/bkp/root.0 dir entry
+131068	- /adm/bkp/super.0 dir entry
+131070	- /adm/bkp/config.0 dir entry
--- a/tests/test.b/blocks/0
+++ b/tests/test.b/blocks/0
@@ -1,14 +1,1 @@
-Tdentry 11
-name magic
-uid -1
-gid -1
-muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668653822312926390
-qid.path 11
-qid.version 0
-mode 20000000777
-m[a]fs device
-512
+Tblank
--- a/tests/test.b/blocks/1
+++ b/tests/test.b/blocks/1
@@ -1,18 +1,14 @@
-Tdentry 1
-name config
+Tdentry 1 1
+name magic
 uid -1
 gid -1
 muid -1
-size 110
-pdblkno 3
-pqpath 3
-mtime 1668653822312986265
-qid.path 1
-qid.version 0
-mode 444
-size 16384
-nblocks 32
-backup config 1 to 31 20
-backup super 2 to 30 19
-backup root 10 to 29 18
-service test.b
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669271948707575976
+path 1
+version 0
+mode 20000000777
+m[a]fs device
+512
--- a/tests/test.b/blocks/10
+++ b/tests/test.b/blocks/10
@@ -1,49 +1,1 @@
-Tdentry 10
-name /
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 0
-pqpath 0
-mtime 1668653822312984115
-qid.path 10
-qid.version 0
-mode 20000000777
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.b/blocks/11
+++ b/tests/test.b/blocks/11
@@ -1,19 +1,19 @@
-Tdentry 64
-name dir1
-uid 10006
+Tdentry 10 1
+name bkp
+uid -1
 gid -1
-muid 10006
-size 0
-pdblkno 10
-pqpath 10
-mtime 1668653823447016201
-qid.path 64
-qid.version 0
+muid -1
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669271948708049865
+path 10
+version 0
 mode 20000000777
 direct blocks
-	0 12
-	1 0
-	2 0
+	0 30
+	1 28
+	2 26
 	3 0
 	4 0
 	5 0
@@ -47,3 +47,5 @@
 	0 0
 	1 0
 	2 0
+	3 0
+	4 0
--- a/tests/test.b/blocks/12
+++ b/tests/test.b/blocks/12
@@ -1,13 +1,1 @@
-Tdentry 65
-name file1
-uid 10006
-gid -1
-muid 10006
-size 5
-pdblkno 11
-pqpath 64
-mtime 1668653823448861420
-qid.path 65
-qid.version 0
-mode 666
-test
+Tblank
--- a/tests/test.b/blocks/18
+++ b/tests/test.b/blocks/18
@@ -1,49 +1,1 @@
-Tdentry 17
-name root.1
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 5
-pqpath 5
-mtime 1668653823447036742
-qid.path 17
-qid.version 0
-mode 444
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.b/blocks/19
+++ b/tests/test.b/blocks/19
@@ -1,14 +1,12 @@
-Tdentry 16
-name super.1
+Tdentry 18 1
+name staging
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668653823452807386
-qid.path 16
-qid.version 0
+pdblkno 8
+pqpath 8
+mtime 1669271948710354314
+path 18
+version 0
 mode 444
-qidgen 66
-fsok 1
--- a/tests/test.b/blocks/2
+++ b/tests/test.b/blocks/2
@@ -1,14 +1,18 @@
-Tdentry 2
-name super
+Tdentry 2 2
+name config
 uid -1
 gid -1
 muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668653822312815022
-qid.path 2
-qid.version 0
+size 101
+pdblkno 6
+pqpath 6
+mtime 1669271948709325584
+path 2
+version 0
 mode 444
-qidgen 66
-fsok 1
+size 16384
+nblocks 32
+backup config 2 to 30
+backup super 4 to 28
+backup root 20 to 26
+service test.b
--- a/tests/test.b/blocks/20
+++ b/tests/test.b/blocks/20
@@ -1,18 +1,51 @@
-Tdentry 15
-name config.1
+Tdentry 20 2
+name /
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668653822313018894
-qid.path 15
-qid.version 0
-mode 444
-size 16384
-nblocks 32
-backup config 1 to 31 20
-backup super 2 to 30 19
-backup root 10 to 29 18
-service test.b
+pdblkno 0
+pqpath 0
+mtime 1669271948708812414
+path 20
+version 0
+mode 20000000777
+direct blocks
+	0 6
+	1 22
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.b/blocks/29
+++ b/tests/test.b/blocks/29
@@ -1,49 +1,14 @@
-Tdentry 14
-name root.0
+Tdentry 5 7
+name super.0
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668653823447035131
-qid.path 14
-qid.version 0
+pdblkno 10
+pqpath 10
+mtime 1669271949851036357
+path 5
+version 0
 mode 444
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+qidgen 66
+fsok 0
--- a/tests/test.b/blocks/3
+++ b/tests/test.b/blocks/3
@@ -1,49 +1,12 @@
-Tdentry 3
-name adm
+Tdentry 2 1
+name config
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 10
-pqpath 10
-mtime 1668653822312972094
-qid.path 3
-qid.version 0
-mode 20000000777
-direct blocks
-	0 1
-	1 2
-	2 4
-	3 5
-	4 7
-	5 8
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+pdblkno 6
+pqpath 6
+mtime 1669271948709325584
+path 2
+version 0
+mode 444
--- a/tests/test.b/blocks/30
+++ b/tests/test.b/blocks/30
@@ -1,14 +1,12 @@
-Tdentry 13
-name super.0
+Tdentry 3 2
+name config.0
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668653823452800029
-qid.path 13
-qid.version 0
+pdblkno 10
+pqpath 10
+mtime 1669271948709587715
+path 3
+version 0
 mode 444
-qidgen 66
-fsok 1
--- a/tests/test.b/blocks/31
+++ b/tests/test.b/blocks/31
@@ -1,18 +1,18 @@
-Tdentry 12
+Tdentry 3 3
 name config.0
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668653822313017147
-qid.path 12
-qid.version 0
+pdblkno 10
+pqpath 10
+mtime 1669271948711377401
+path 3
+version 0
 mode 444
 size 16384
 nblocks 32
-backup config 1 to 31 20
-backup super 2 to 30 19
-backup root 10 to 29 18
+backup config 2 to 30
+backup super 4 to 28
+backup root 20 to 26
 service test.b
--- a/tests/test.b/blocks/4
+++ b/tests/test.b/blocks/4
@@ -1,49 +1,14 @@
-Tdentry 4
-name users
+Tdentry 4 7
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668653822312979078
-qid.path 4
-qid.version 0
-mode 20000000777
-direct blocks
-	0 6
-	1 9
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669271948706262551
+path 4
+version 0
+mode 444
+qidgen 66
+fsok 1
--- a/tests/test.b/blocks/5
+++ b/tests/test.b/blocks/5
@@ -1,49 +1,14 @@
-Tdentry 5
-name bkp
+Tdentry 4 6
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668653822312974196
-qid.path 5
-qid.version 0
-mode 20000000777
-direct blocks
-	0 31
-	1 30
-	2 29
-	3 20
-	4 19
-	5 18
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669271948706262551
+path 4
+version 0
+mode 444
+qidgen 66
+fsok 0
--- a/tests/test.b/blocks/6
+++ b/tests/test.b/blocks/6
@@ -1,18 +1,1 @@
-Tdentry 6
-name inuse
-uid -1
-gid -1
-muid -1
-size 95
-pdblkno 4
-pqpath 4
-mtime 1668653822312981698
-qid.path 6
-qid.version 0
-mode 444
--1:adm:adm:glenda
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10006:glenda:glenda:
+Tblank
--- a/tests/test.b/blocks/7
+++ b/tests/test.b/blocks/7
@@ -1,14 +1,51 @@
-Tdentry 7
-name frees
+Tdentry 6 1
+name adm
 uid -1
 gid -1
 muid -1
-size 17
-pdblkno 3
-pqpath 3
-mtime 1668653824452874271
-qid.path 7
-qid.version 0
-mode 444
-13 17 5
-21 28 8
+size 0
+pdblkno 20
+pqpath 20
+mtime 1669271948707790246
+path 6
+version 0
+mode 20000000777
+direct blocks
+	0 2
+	1 4
+	2 8
+	3 10
+	4 14
+	5 16
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.b/blocks/8
+++ b/tests/test.b/blocks/8
@@ -1,12 +1,1 @@
-Tdentry 8
-name ctl
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 3
-pqpath 3
-mtime 1668653822312990861
-qid.path 8
-qid.version 0
-mode 444
+Tblank
--- a/tests/test.b/blocks/9
+++ b/tests/test.b/blocks/9
@@ -1,12 +1,51 @@
-Tdentry 9
-name staging
+Tdentry 8 1
+name users
 uid -1
 gid -1
 muid -1
-size 0
-pdblkno 4
-pqpath 4
-mtime 1668653822313001662
-qid.path 9
-qid.version 0
-mode 444
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669271948708302436
+path 8
+version 0
+mode 20000000777
+direct blocks
+	0 12
+	1 18
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.b/notes
+++ b/tests/test.b/notes
@@ -6,39 +6,22 @@
 echo test >> /n/mafs_test.b/dir1/file1
 
 block	- description
-0		- magic
-1		- config
-2		- super block
-3		- /adm/ dir entry
-4		- /adm/config dir entry
-5		- /adm/super dir entry
-6		- /adm/bkp/ dir entry
-7	- /adm/bkp/config.0 dir entry
-8	- /adm/bkp/super.0 dir entry
-9	- /adm/bkp/root.0 dir entry
-10	- /adm/bkp/config.1 dir entry
-11	- /adm/bkp/super.1 dir entry
-12	- /adm/bkp/root.1 dir entry
-13		- /adm/users/ dir entry
-14		- /adm/users/inuse dir entry
-15		- /adm/users/inuse contents
-16	- /adm/frees dir entry
-17	- /adm/ctl dir entry -- virtual file, empty contents
+0		- magic dir entry and data
+2		- /adm/config dir entry
+4		- /adm/super dir entry
+6		- /adm/ dir entry
+8		- /adm/users/ dir entry
+10		- /adm/bkp/ dir entry
+12		- /adm/users/inuse dir entry
+14	- /adm/frees dir entry
+16	- /adm/ctl dir entry -- virtual file, empty contents
 18		- /adm/users/staging dir entry
-19		- / direntry
+20		- / direntry
 
-20	- /dir1 directory entry
-21	- /dir1/file1 directory entry
-22	- /dir1/file1 contents
+22	- /dir1 directory entry
+24	- /dir1/file1 directory entry
+26	- /dir1/file1 contents
 
-23	- / direntry
-24	- super block
-25	- config
-
-26	- /adm/frees contents
-27
-28
-
-29	- / direntry
-30	- super block
-31	- config
+26	- /adm/bkp/root.0 dir entry
+28	- /adm/bkp/super.0 dir entry
+30	- /adm/bkp/config.0 dir entry
--- a/tests/test.d/blocks/0
+++ b/tests/test.d/blocks/0
@@ -1,14 +1,1 @@
-Tdentry 11
-name magic
-uid -1
-gid -1
-muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668653829664076187
-qid.path 11
-qid.version 0
-mode 20000000777
-m[a]fs device
-512
+Tblank
--- a/tests/test.d/blocks/1
+++ b/tests/test.d/blocks/1
@@ -1,18 +1,14 @@
-Tdentry 1
-name config
+Tdentry 1 1
+name magic
 uid -1
 gid -1
 muid -1
-size 110
-pdblkno 3
-pqpath 3
-mtime 1668653829664101767
-qid.path 1
-qid.version 0
-mode 444
-size 16384
-nblocks 32
-backup config 1 to 31 20
-backup super 2 to 30 19
-backup root 10 to 29 18
-service test.d
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669307058022214526
+path 1
+version 0
+mode 20000000777
+m[a]fs device
+512
--- a/tests/test.d/blocks/10
+++ b/tests/test.d/blocks/10
@@ -1,49 +1,1 @@
-Tdentry 10
-name /
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 0
-pqpath 0
-mtime 1668653829664099659
-qid.path 10
-qid.version 0
-mode 20000000777
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.d/blocks/11
+++ b/tests/test.d/blocks/11
@@ -1,19 +1,19 @@
-Tdentry 64
-name a
-uid 10006
+Tdentry 10 1
+name bkp
+uid -1
 gid -1
-muid 10006
-size 0
-pdblkno 10
-pqpath 10
-mtime 1668653830797319642
-qid.path 64
-qid.version 0
+muid -1
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669307058022727125
+path 10
+version 0
 mode 20000000777
 direct blocks
-	0 12
-	1 0
-	2 0
+	0 36
+	1 34
+	2 32
 	3 0
 	4 0
 	5 0
@@ -47,3 +47,5 @@
 	0 0
 	1 0
 	2 0
+	3 0
+	4 0
--- a/tests/test.d/blocks/12
+++ b/tests/test.d/blocks/12
@@ -1,49 +1,1 @@
-Tdentry 65
-name b
-uid 10006
-gid -1
-muid 10006
-size 0
-pdblkno 11
-pqpath 64
-mtime 1668653830797680290
-qid.path 65
-qid.version 0
-mode 20000000777
-direct blocks
-	0 13
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.d/blocks/13
+++ b/tests/test.d/blocks/13
@@ -1,49 +1,18 @@
-Tdentry 66
-name c
-uid 10006
+Tdentry 12 1
+name inuse
+uid -1
 gid -1
-muid 10006
-size 0
-pdblkno 12
-pqpath 65
-mtime 1668653830797990437
-qid.path 66
-qid.version 0
-mode 20000000777
-direct blocks
-	0 14
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+muid -1
+size 95
+pdblkno 8
+pqpath 8
+mtime 1669307058023260104
+path 12
+version 0
+mode 444
+-1:adm:adm:glenda
+0:none:adm:
+9999:noworld::
+10000:sys::
+10001:upas:upas:
+10006:glenda:glenda:
--- a/tests/test.d/blocks/14
+++ b/tests/test.d/blocks/14
@@ -1,49 +1,12 @@
-Tdentry 67
-name d
-uid 10006
+Tdentry 14 4
+name frees
+uid -1
 gid -1
-muid 10006
-size 0
-pdblkno 13
-pqpath 66
-mtime 1668653830798321214
-qid.path 67
-qid.version 0
-mode 20000000777
-direct blocks
-	0 15
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+muid -1
+size 1
+pdblkno 6
+pqpath 6
+mtime 1669307059197302332
+path 14
+version 0
+mode 444
--- a/tests/test.d/blocks/15
+++ b/tests/test.d/blocks/15
@@ -1,49 +1,12 @@
-Tdentry 68
-name e
-uid 10006
+Tdentry 14 3
+name frees
+uid -1
 gid -1
-muid 10006
-size 0
-pdblkno 14
-pqpath 67
-mtime 1668653830798635022
-qid.path 68
-qid.version 0
-mode 20000000777
-direct blocks
-	0 0
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+muid -1
+size 1
+pdblkno 6
+pqpath 6
+mtime 1669307059197302332
+path 14
+version 0
+mode 444
--- /dev/null
+++ b/tests/test.d/blocks/16
@@ -1,0 +1,1 @@
+Tblank
--- /dev/null
+++ b/tests/test.d/blocks/17
@@ -1,0 +1,12 @@
+Tdentry 16 1
+name ctl
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 6
+pqpath 6
+mtime 1669307058024600473
+path 16
+version 0
+mode 444
--- a/tests/test.d/blocks/18
+++ b/tests/test.d/blocks/18
@@ -1,49 +1,1 @@
-Tdentry 17
-name root.1
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 5
-pqpath 5
-mtime 1668653830797345302
-qid.path 17
-qid.version 0
-mode 444
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.d/blocks/19
+++ b/tests/test.d/blocks/19
@@ -1,14 +1,12 @@
-Tdentry 16
-name super.1
+Tdentry 18 1
+name staging
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668653830821600509
-qid.path 16
-qid.version 0
+pdblkno 8
+pqpath 8
+mtime 1669307058025139110
+path 18
+version 0
 mode 444
-qidgen 69
-fsok 1
--- a/tests/test.d/blocks/2
+++ b/tests/test.d/blocks/2
@@ -1,14 +1,18 @@
-Tdentry 2
-name super
+Tdentry 2 2
+name config
 uid -1
 gid -1
 muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668653829663995816
-qid.path 2
-qid.version 0
+size 101
+pdblkno 6
+pqpath 6
+mtime 1669307058024062447
+path 2
+version 0
 mode 444
-qidgen 69
-fsok 1
+size 19456
+nblocks 38
+backup config 2 to 36
+backup super 4 to 34
+backup root 20 to 32
+service test.d
--- a/tests/test.d/blocks/20
+++ b/tests/test.d/blocks/20
@@ -1,18 +1,51 @@
-Tdentry 15
-name config.1
+Tdentry 20 2
+name /
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668653829664134724
-qid.path 15
-qid.version 0
-mode 444
-size 16384
-nblocks 32
-backup config 1 to 31 20
-backup super 2 to 30 19
-backup root 10 to 29 18
-service test.d
+pdblkno 0
+pqpath 0
+mtime 1669307058023525775
+path 20
+version 0
+mode 20000000777
+direct blocks
+	0 6
+	1 22
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- /dev/null
+++ b/tests/test.d/blocks/21
@@ -1,0 +1,51 @@
+Tdentry 20 1
+name /
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 0
+pqpath 0
+mtime 1669307058023525775
+path 20
+version 0
+mode 20000000777
+direct blocks
+	0 6
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- /dev/null
+++ b/tests/test.d/blocks/22
@@ -1,0 +1,51 @@
+Tdentry 64 2
+name a
+uid 10006
+gid -1
+muid 10006
+size 0
+pdblkno 20
+pqpath 20
+mtime 1669307059170718846
+path 64
+version 0
+mode 20000000777
+direct blocks
+	0 24
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- /dev/null
+++ b/tests/test.d/blocks/23
@@ -1,0 +1,51 @@
+Tdentry 64 1
+name a
+uid 10006
+gid -1
+muid 10006
+size 0
+pdblkno 20
+pqpath 20
+mtime 1669307059170718846
+path 64
+version 0
+mode 20000000777
+direct blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- /dev/null
+++ b/tests/test.d/blocks/24
@@ -1,0 +1,51 @@
+Tdentry 65 2
+name b
+uid 10006
+gid -1
+muid 10006
+size 0
+pdblkno 22
+pqpath 64
+mtime 1669307059172977488
+path 65
+version 0
+mode 20000000777
+direct blocks
+	0 26
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- /dev/null
+++ b/tests/test.d/blocks/25
@@ -1,0 +1,51 @@
+Tdentry 65 1
+name b
+uid 10006
+gid -1
+muid 10006
+size 0
+pdblkno 22
+pqpath 64
+mtime 1669307059172977488
+path 65
+version 0
+mode 20000000777
+direct blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- /dev/null
+++ b/tests/test.d/blocks/26
@@ -1,0 +1,51 @@
+Tdentry 66 2
+name c
+uid 10006
+gid -1
+muid 10006
+size 0
+pdblkno 24
+pqpath 65
+mtime 1669307059174694923
+path 66
+version 0
+mode 20000000777
+direct blocks
+	0 28
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- /dev/null
+++ b/tests/test.d/blocks/27
@@ -1,0 +1,51 @@
+Tdentry 66 1
+name c
+uid 10006
+gid -1
+muid 10006
+size 0
+pdblkno 24
+pqpath 65
+mtime 1669307059174694923
+path 66
+version 0
+mode 20000000777
+direct blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- /dev/null
+++ b/tests/test.d/blocks/28
@@ -1,0 +1,51 @@
+Tdentry 67 2
+name d
+uid 10006
+gid -1
+muid 10006
+size 0
+pdblkno 26
+pqpath 66
+mtime 1669307059178069886
+path 67
+version 0
+mode 20000000777
+direct blocks
+	0 30
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.d/blocks/29
+++ b/tests/test.d/blocks/29
@@ -1,18 +1,18 @@
-Tdentry 14
-name root.0
-uid -1
+Tdentry 67 1
+name d
+uid 10006
 gid -1
-muid -1
+muid 10006
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668653830797342567
-qid.path 14
-qid.version 0
-mode 444
+pdblkno 26
+pqpath 66
+mtime 1669307059178069886
+path 67
+version 0
+mode 20000000777
 direct blocks
-	0 3
-	1 11
+	0 0
+	1 0
 	2 0
 	3 0
 	4 0
@@ -47,3 +47,5 @@
 	0 0
 	1 0
 	2 0
+	3 0
+	4 0
--- a/tests/test.d/blocks/3
+++ b/tests/test.d/blocks/3
@@ -1,49 +1,12 @@
-Tdentry 3
-name adm
+Tdentry 2 1
+name config
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 10
-pqpath 10
-mtime 1668653829664087752
-qid.path 3
-qid.version 0
-mode 20000000777
-direct blocks
-	0 1
-	1 2
-	2 4
-	3 5
-	4 7
-	5 8
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+pdblkno 6
+pqpath 6
+mtime 1669307058024062447
+path 2
+version 0
+mode 444
--- a/tests/test.d/blocks/30
+++ b/tests/test.d/blocks/30
@@ -1,14 +1,1 @@
-Tdentry 13
-name super.0
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 5
-pqpath 5
-mtime 1668653830821592880
-qid.path 13
-qid.version 0
-mode 444
-qidgen 69
-fsok 1
+Tblank
--- a/tests/test.d/blocks/31
+++ b/tests/test.d/blocks/31
@@ -1,18 +1,51 @@
-Tdentry 12
-name config.0
-uid -1
+Tdentry 68 1
+name e
+uid 10006
 gid -1
-muid -1
+muid 10006
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668653829664132970
-qid.path 12
-qid.version 0
-mode 444
-size 16384
-nblocks 32
-backup config 1 to 31 20
-backup super 2 to 30 19
-backup root 10 to 29 18
-service test.d
+pdblkno 28
+pqpath 67
+mtime 1669307059180195102
+path 68
+version 0
+mode 20000000777
+direct blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- /dev/null
+++ b/tests/test.d/blocks/32
@@ -1,0 +1,51 @@
+Tdentry 21 2
+name root.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669307058023798436
+path 21
+version 0
+mode 444
+direct blocks
+	0 6
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- /dev/null
+++ b/tests/test.d/blocks/33
@@ -1,0 +1,51 @@
+Tdentry 21 3
+name root.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669307059172175500
+path 21
+version 0
+mode 444
+direct blocks
+	0 6
+	1 22
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- /dev/null
+++ b/tests/test.d/blocks/34
@@ -1,0 +1,14 @@
+Tdentry 5 10
+name super.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669307059180497163
+path 5
+version 0
+mode 444
+qidgen 69
+fsok 0
--- /dev/null
+++ b/tests/test.d/blocks/35
@@ -1,0 +1,14 @@
+Tdentry 5 11
+name super.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669307059196723961
+path 5
+version 0
+mode 444
+qidgen 69
+fsok 1
--- /dev/null
+++ b/tests/test.d/blocks/36
@@ -1,0 +1,12 @@
+Tdentry 3 2
+name config.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669307058024332237
+path 3
+version 0
+mode 444
--- /dev/null
+++ b/tests/test.d/blocks/37
@@ -1,0 +1,18 @@
+Tdentry 3 3
+name config.0
+uid -1
+gid -1
+muid -1
+size 0
+pdblkno 10
+pqpath 10
+mtime 1669307058026469800
+path 3
+version 0
+mode 444
+size 19456
+nblocks 38
+backup config 2 to 36
+backup super 4 to 34
+backup root 20 to 32
+service test.d
--- a/tests/test.d/blocks/4
+++ b/tests/test.d/blocks/4
@@ -1,49 +1,14 @@
-Tdentry 4
-name users
+Tdentry 4 9
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668653829664094606
-qid.path 4
-qid.version 0
-mode 20000000777
-direct blocks
-	0 6
-	1 9
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669307058020360539
+path 4
+version 0
+mode 444
+qidgen 69
+fsok 0
--- a/tests/test.d/blocks/5
+++ b/tests/test.d/blocks/5
@@ -1,49 +1,14 @@
-Tdentry 5
-name bkp
+Tdentry 4 10
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668653829664089978
-qid.path 5
-qid.version 0
-mode 20000000777
-direct blocks
-	0 31
-	1 30
-	2 29
-	3 20
-	4 19
-	5 18
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669307058020360539
+path 4
+version 0
+mode 444
+qidgen 69
+fsok 1
--- a/tests/test.d/blocks/6
+++ b/tests/test.d/blocks/6
@@ -1,18 +1,1 @@
-Tdentry 6
-name inuse
-uid -1
-gid -1
-muid -1
-size 95
-pdblkno 4
-pqpath 4
-mtime 1668653829664097231
-qid.path 6
-qid.version 0
-mode 444
--1:adm:adm:glenda
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10006:glenda:glenda:
+Tblank
--- a/tests/test.d/blocks/7
+++ b/tests/test.d/blocks/7
@@ -1,14 +1,51 @@
-Tdentry 7
-name frees
+Tdentry 6 1
+name adm
 uid -1
 gid -1
 muid -1
-size 17
-pdblkno 3
-pqpath 3
-mtime 1668653831821663550
-qid.path 7
-qid.version 0
-mode 444
-16 17 2
-21 28 8
+size 0
+pdblkno 20
+pqpath 20
+mtime 1669307058022444884
+path 6
+version 0
+mode 20000000777
+direct blocks
+	0 2
+	1 4
+	2 8
+	3 10
+	4 14
+	5 16
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.d/blocks/8
+++ b/tests/test.d/blocks/8
@@ -1,12 +1,1 @@
-Tdentry 8
-name ctl
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 3
-pqpath 3
-mtime 1668653829664105985
-qid.path 8
-qid.version 0
-mode 444
+Tblank
--- a/tests/test.d/blocks/9
+++ b/tests/test.d/blocks/9
@@ -1,12 +1,51 @@
-Tdentry 9
-name staging
+Tdentry 8 1
+name users
 uid -1
 gid -1
 muid -1
-size 0
-pdblkno 4
-pqpath 4
-mtime 1668653829664116912
-qid.path 9
-qid.version 0
-mode 444
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669307058022989194
+path 8
+version 0
+mode 20000000777
+direct blocks
+	0 12
+	1 18
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.d/notes
+++ b/tests/test.d/notes
@@ -1,4 +1,4 @@
-Creates a disk of 32 blocks. Unmarked blocks are filled from /dev/random.
+Creates a disk of 38 (Nmbinblocks+5*Metadataunits) blocks. Unmarked blocks are filled from /dev/random.
 
 Duplicate of test.2 but seeded with random data.
 
--- a/tests/test.d/params
+++ b/tests/test.d/params
@@ -1,1 +1,1 @@
-nblocks=32
+nblocks=38
--- a/tests/test.e/blocks/0
+++ b/tests/test.e/blocks/0
@@ -1,14 +1,1 @@
-Tdentry 11
-name magic
-uid -1
-gid -1
-muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668649281234453648
-qid.path 11
-qid.version 0
-mode 20000000777
-m[a]fs device
-512
+Tblank
--- a/tests/test.e/blocks/1
+++ b/tests/test.e/blocks/1
@@ -1,18 +1,14 @@
-Tdentry 1
-name config
+Tdentry 1 1
+name magic
 uid -1
 gid -1
 muid -1
-size 110
-pdblkno 3
-pqpath 3
-mtime 1668649281234479315
-qid.path 1
-qid.version 0
-mode 444
-size 16384
-nblocks 32
-backup config 1 to 31 20
-backup super 2 to 30 19
-backup root 10 to 29 18
-service test.e
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669308211306286320
+path 1
+version 0
+mode 20000000777
+m[a]fs device
+512
--- a/tests/test.e/blocks/10
+++ b/tests/test.e/blocks/10
@@ -1,49 +1,1 @@
-Tdentry 10
-name /
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 0
-pqpath 0
-mtime 1668649281234477144
-qid.path 10
-qid.version 0
-mode 20000000777
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.e/blocks/11
+++ b/tests/test.e/blocks/11
@@ -1,20 +1,20 @@
-Tdentry 64
-name a
-uid 10006
+Tdentry 10 1
+name bkp
+uid -1
 gid -1
-muid 10006
-size 0
-pdblkno 10
-pqpath 10
-mtime 1668649282368227802
-qid.path 64
-qid.version 0
+muid -1
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669308211306810296
+path 10
+version 0
 mode 20000000777
 direct blocks
-	0 12
-	1 13
-	2 14
-	3 15
+	0 36
+	1 34
+	2 32
+	3 0
 	4 0
 	5 0
 	6 0
@@ -47,3 +47,5 @@
 	0 0
 	1 0
 	2 0
+	3 0
+	4 0
--- a/tests/test.e/blocks/12
+++ b/tests/test.e/blocks/12
@@ -1,12 +1,1 @@
-Tdentry 0
-name 
-uid 0
-gid 0
-muid 0
-size 0
-pdblkno 0
-pqpath 0
-mtime 0
-qid.path 0
-qid.version 0
-mode 0
+Tblank
--- a/tests/test.e/blocks/13
+++ b/tests/test.e/blocks/13
@@ -1,49 +1,18 @@
-Tdentry 66
-name c
-uid 10006
+Tdentry 12 1
+name inuse
+uid -1
 gid -1
-muid 10006
-size 0
-pdblkno 11
-pqpath 64
-mtime 1668649282369210483
-qid.path 66
-qid.version 0
-mode 20000000777
-direct blocks
-	0 0
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+muid -1
+size 95
+pdblkno 8
+pqpath 8
+mtime 1669308211307340162
+path 12
+version 0
+mode 444
+-1:adm:adm:glenda
+0:none:adm:
+9999:noworld::
+10000:sys::
+10001:upas:upas:
+10006:glenda:glenda:
--- a/tests/test.e/blocks/14
+++ b/tests/test.e/blocks/14
@@ -1,12 +1,12 @@
-Tdentry 0
-name 
-uid 0
-gid 0
-muid 0
-size 0
-pdblkno 0
-pqpath 0
-mtime 0
-qid.path 0
-qid.version 0
-mode 0
+Tdentry 14 4
+name frees
+uid -1
+gid -1
+muid -1
+size 1
+pdblkno 6
+pqpath 6
+mtime 1669308212473004071
+path 14
+version 0
+mode 444
--- a/tests/test.e/blocks/15
+++ b/tests/test.e/blocks/15
@@ -1,12 +1,12 @@
-Tdentry 68
-name 2.txt
-uid 10006
+Tdentry 14 3
+name frees
+uid -1
 gid -1
-muid 10006
-size 0
-pdblkno 11
-pqpath 64
-mtime 1668649282000000000
-qid.path 68
-qid.version 0
-mode 666
+muid -1
+size 1
+pdblkno 6
+pqpath 6
+mtime 1669308212473004071
+path 14
+version 0
+mode 444
--- a/tests/test.e/blocks/18
+++ b/tests/test.e/blocks/18
@@ -1,49 +1,1 @@
-Tdentry 17
-name root.1
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 5
-pqpath 5
-mtime 1668649282368273208
-qid.path 17
-qid.version 0
-mode 444
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+Tblank
--- a/tests/test.e/blocks/19
+++ b/tests/test.e/blocks/19
@@ -1,14 +1,12 @@
-Tdentry 16
-name super.1
+Tdentry 18 1
+name staging
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668649283711465387
-qid.path 16
-qid.version 0
+pdblkno 8
+pqpath 8
+mtime 1669308211309216528
+path 18
+version 0
 mode 444
-qidgen 69
-fsok 1
--- a/tests/test.e/blocks/2
+++ b/tests/test.e/blocks/2
@@ -1,14 +1,18 @@
-Tdentry 2
-name super
+Tdentry 2 2
+name config
 uid -1
 gid -1
 muid -1
-size 18
-pdblkno 3
-pqpath 3
-mtime 1668649281234382527
-qid.path 2
-qid.version 0
+size 101
+pdblkno 6
+pqpath 6
+mtime 1669308211308146844
+path 2
+version 0
 mode 444
-qidgen 69
-fsok 1
+size 19456
+nblocks 38
+backup config 2 to 36
+backup super 4 to 34
+backup root 20 to 32
+service test.e
--- a/tests/test.e/blocks/20
+++ b/tests/test.e/blocks/20
@@ -1,18 +1,51 @@
-Tdentry 15
-name config.1
+Tdentry 20 2
+name /
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668649281234513395
-qid.path 15
-qid.version 0
-mode 444
-size 16384
-nblocks 32
-backup config 1 to 31 20
-backup super 2 to 30 19
-backup root 10 to 29 18
-service test.e
+pdblkno 0
+pqpath 0
+mtime 1669308211307610328
+path 20
+version 0
+mode 20000000777
+direct blocks
+	0 6
+	1 22
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.e/blocks/29
+++ b/tests/test.e/blocks/29
@@ -1,49 +1,12 @@
-Tdentry 14
-name root.0
-uid -1
+Tdentry 0 3
+name 1.txt
+uid 10006
 gid -1
-muid -1
+muid 10006
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668649282368270870
-qid.path 14
-qid.version 0
-mode 444
-direct blocks
-	0 3
-	1 11
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+pdblkno 22
+pqpath 64
+mtime 1669308212000000000
+path 0
+version 0
+mode 666
--- a/tests/test.e/blocks/3
+++ b/tests/test.e/blocks/3
@@ -1,49 +1,12 @@
-Tdentry 3
-name adm
+Tdentry 2 1
+name config
 uid -1
 gid -1
 muid -1
 size 0
-pdblkno 10
-pqpath 10
-mtime 1668649281234465155
-qid.path 3
-qid.version 0
-mode 20000000777
-direct blocks
-	0 1
-	1 2
-	2 4
-	3 5
-	4 7
-	5 8
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+pdblkno 6
+pqpath 6
+mtime 1669308211308146844
+path 2
+version 0
+mode 444
--- a/tests/test.e/blocks/30
+++ b/tests/test.e/blocks/30
@@ -1,14 +1,12 @@
-Tdentry 13
-name super.0
-uid -1
+Tdentry 68 2
+name 2.txt
+uid 10006
 gid -1
-muid -1
+muid 10006
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668649283711461847
-qid.path 13
-qid.version 0
-mode 444
-qidgen 69
-fsok 1
+pdblkno 22
+pqpath 64
+mtime 1669308212000000000
+path 68
+version 0
+mode 666
--- a/tests/test.e/blocks/31
+++ b/tests/test.e/blocks/31
@@ -1,18 +1,12 @@
-Tdentry 12
-name config.0
-uid -1
+Tdentry 68 1
+name 2.txt
+uid 10006
 gid -1
-muid -1
+muid 10006
 size 0
-pdblkno 5
-pqpath 5
-mtime 1668649281234511656
-qid.path 12
-qid.version 0
-mode 444
-size 16384
-nblocks 32
-backup config 1 to 31 20
-backup super 2 to 30 19
-backup root 10 to 29 18
-service test.e
+pdblkno 22
+pqpath 64
+mtime 1669308212452259970
+path 68
+version 0
+mode 666
--- a/tests/test.e/blocks/4
+++ b/tests/test.e/blocks/4
@@ -1,49 +1,14 @@
-Tdentry 4
-name users
+Tdentry 4 9
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668649281234472187
-qid.path 4
-qid.version 0
-mode 20000000777
-direct blocks
-	0 6
-	1 9
-	2 0
-	3 0
-	4 0
-	5 0
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669308211304908901
+path 4
+version 0
+mode 444
+qidgen 69
+fsok 0
--- a/tests/test.e/blocks/5
+++ b/tests/test.e/blocks/5
@@ -1,49 +1,14 @@
-Tdentry 5
-name bkp
+Tdentry 4 10
+name super
 uid -1
 gid -1
 muid -1
-size 96
-pdblkno 3
-pqpath 3
-mtime 1668649281234467485
-qid.path 5
-qid.version 0
-mode 20000000777
-direct blocks
-	0 31
-	1 30
-	2 29
-	3 20
-	4 19
-	5 18
-	6 0
-	7 0
-	8 0
-	9 0
-	10 0
-	11 0
-	12 0
-	13 0
-	14 0
-	15 0
-	16 0
-	17 0
-	18 0
-	19 0
-	20 0
-	21 0
-	22 0
-	23 0
-	24 0
-	25 0
-	26 0
-	27 0
-	28 0
-	29 0
-	30 0
-	31 0
-indirect blocks
-	0 0
-	1 0
-	2 0
+size 18
+pdblkno 6
+pqpath 6
+mtime 1669308211304908901
+path 4
+version 0
+mode 444
+qidgen 69
+fsok 1
--- a/tests/test.e/blocks/6
+++ b/tests/test.e/blocks/6
@@ -1,18 +1,1 @@
-Tdentry 6
-name inuse
-uid -1
-gid -1
-muid -1
-size 95
-pdblkno 4
-pqpath 4
-mtime 1668649281234474782
-qid.path 6
-qid.version 0
-mode 444
--1:adm:adm:glenda
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10006:glenda:glenda:
+Tblank
--- a/tests/test.e/blocks/7
+++ b/tests/test.e/blocks/7
@@ -1,14 +1,51 @@
-Tdentry 7
-name frees
+Tdentry 6 1
+name adm
 uid -1
 gid -1
 muid -1
-size 17
-pdblkno 3
-pqpath 3
-mtime 1668649284711485011
-qid.path 7
-qid.version 0
-mode 444
-16 17 2
-21 28 8
+size 0
+pdblkno 20
+pqpath 20
+mtime 1669308211306532226
+path 6
+version 0
+mode 20000000777
+direct blocks
+	0 2
+	1 4
+	2 8
+	3 10
+	4 14
+	5 16
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.e/blocks/8
+++ b/tests/test.e/blocks/8
@@ -1,12 +1,1 @@
-Tdentry 8
-name ctl
-uid -1
-gid -1
-muid -1
-size 0
-pdblkno 3
-pqpath 3
-mtime 1668649281234484064
-qid.path 8
-qid.version 0
-mode 444
+Tblank
--- a/tests/test.e/blocks/9
+++ b/tests/test.e/blocks/9
@@ -1,12 +1,51 @@
-Tdentry 9
-name staging
+Tdentry 8 1
+name users
 uid -1
 gid -1
 muid -1
-size 0
-pdblkno 4
-pqpath 4
-mtime 1668649281234496330
-qid.path 9
-qid.version 0
-mode 444
+size 96
+pdblkno 6
+pqpath 6
+mtime 1669308211307076411
+path 8
+version 0
+mode 20000000777
+direct blocks
+	0 12
+	1 18
+	2 0
+	3 0
+	4 0
+	5 0
+	6 0
+	7 0
+	8 0
+	9 0
+	10 0
+	11 0
+	12 0
+	13 0
+	14 0
+	15 0
+	16 0
+	17 0
+	18 0
+	19 0
+	20 0
+	21 0
+	22 0
+	23 0
+	24 0
+	25 0
+	26 0
+	27 0
+	28 0
+	29 0
+	30 0
+	31 0
+indirect blocks
+	0 0
+	1 0
+	2 0
+	3 0
+	4 0
--- a/tests/test.e/notes
+++ b/tests/test.e/notes
@@ -1,41 +1,24 @@
-Creates a disk of 32 blocks. Unmarked blocks are filled from /dev/random.
+Creates a disk of 38 (Nmbinblocks+5*Metadataunits) blocks. Unmarked blocks are filled from /dev/random.
 
 check that deleted files and directories do not show up in a listing.
 
 block	- description
-0		- magic
-1		- config
-2		- super block
-3		- /adm/ dir entry
-4		- /adm/config dir entry
-5		- /adm/super dir entry
-6		- /adm/bkp/ dir entry
-7	- /adm/bkp/config.0 dir entry
-8	- /adm/bkp/super.0 dir entry
-9	- /adm/bkp/root.0 dir entry
-10	- /adm/bkp/config.1 dir entry
-11	- /adm/bkp/super.1 dir entry
-12	- /adm/bkp/root.1 dir entry
-13		- /adm/users/ dir entry
-14		- /adm/users/inuse dir entry
-15		- /adm/users/inuse contents
-16	- /adm/frees dir entry
-17	- /adm/ctl dir entry -- virtual file, empty contents
+0		- magic dir entry and data
+2		- /adm/config dir entry
+4		- /adm/super dir entry
+6		- /adm/ dir entry
+8		- /adm/users/ dir entry
+10		- /adm/bkp/ dir entry
+12		- /adm/users/inuse dir entry
+14	- /adm/frees dir entry
+16	- /adm/ctl dir entry -- virtual file, empty contents
 18		- /adm/users/staging dir entry
-19		- / direntry
+20		- / direntry
 
-20	- /a directory entry
-21	- zeroed out directory entry of /a/b
-22	- /a/c directory entry
+22	- zeroed out directory entry of /a/1.txt
+24	- /a/2.txt directory entry
+26	- contents of /adm/frees
 
-23	- / direntry
-24	- super block
-25	- config
-
-26	- zeroed out directory entry of /a/1.txt
-27	- /a/2.txt directory entry
-28	- contents of /adm/frees
-
-29	- / direntry
-30	- super block
-31	- config
+32	- /adm/bkp/root.0 dir entry
+34	- /adm/bkp/super.0 dir entry
+36	- /adm/bkp/config.0 dir entry
--- a/tests/test.e/params
+++ b/tests/test.e/params
@@ -1,1 +1,1 @@
-nblocks=32
+nblocks=38
--- a/user.c
+++ b/user.c
@@ -428,7 +428,7 @@
 	buf = emalloc9p(usize);
 	putbuf(ubuf, 0);
 
-	readfile(Bdusersinuse, Qpusersinuse, buf, usize, 0, nil);
+	readfile(Bdusersinuse, Qpusersinuse, buf, usize, 0);
 	if((rv=parseusers(&us, buf, usize)) != 0)
 		panic("could not parse /adm/users/inuse rv %d\n", rv);
 	free(buf);
@@ -456,13 +456,13 @@
 	buf = emalloc9p(usize);
 	putbuf(ubuf, 0);
 
-	readfile(Bdusersstaging, Qpusersstaging, buf, usize, 0, nil);
+	readfile(Bdusersstaging, Qpusersstaging, buf, usize, 0);
 	if(parseusers(&us, buf, usize) != 0)
 		panic("could not parse /adm/users/staging\n");
 
 	wlock(&userslock);
 	old = lruuser;
-	writefile(Bdusersinuse, Qpusersinuse, -1, buf, usize, 0, nil);
+	writefile(Bdusersinuse, Qpusersinuse, -1, buf, usize, 0);
 	lruuser = us;
 	wunlock(&userslock);