code: mafs

Download patch

ref: ae88f14a80cadce73bbe2a7320f2831c2828ce4d
parent: 2c149cc04dbca3a1f4d5bf6b2a8917dfe7ebb92c
author: 9ferno <gophone2015@gmail.com>
date: Sat Nov 12 13:20:32 EST 2022

working tests with the users changes

--- a/TODO
+++ b/TODO
@@ -1,4 +1,5 @@
 test exclusive use file access
+test syncusers()
 streamline the error codes
 mafswrite():
 	add user and remove user messages
--- a/all.h
+++ b/all.h
@@ -191,6 +191,7 @@
 int	strtouid(char*);
 int	strtouid1(char*);
 void	sync(void);
+void	syncusers(void);
 char	*username(s16 uid, char *username);
 void	usersinit(void);
 void	writeconfig(u64 bno);
--- a/ctl.c
+++ b/ctl.c
@@ -58,7 +58,7 @@
 int
 cmdusers(Cmdbuf *)
 {
-	usersinit();
+	syncusers();
 	return 0;
 }
 
--- a/dat.h
+++ b/dat.h
@@ -31,6 +31,9 @@
  * fundamental constants and types of the implementation
  * changing any of these changes the layout on disk
  * The very first block (index = 0) has the magic written at offset 256.
+ *
+ * Trying to keep the Qpath the same as the directory entry block number
+ * for the system files to help me identify numbers easily.
  */
 enum {
 	Rawblocksize= 512ULL,	/* real block size */
@@ -56,6 +59,7 @@
 	Busersinuse	= 15,	/* block number of /adm/users/inuse file contents */
 	Bdfrees = 16,	/* block number of /adm/frees dentry, text file of free extents */
 
+					/* no user writes allowed on blocks below Bdctl */
 	Bdctl	= 17,	/* block number of /adm/ctl dentry, empty contents, virtual file */
 	Bdusersstaging = 18,/* block number of /adm/users/staging dentry */
 	Bdroot	= 19,	/* block number of root directory */
@@ -65,9 +69,9 @@
 	/* Qpnone is the Tag.path of free blocks/extents(Tfree),
 		and zero'ed out dentry blocks */
 	Qpnone		= 0,
-	Qpmagic		= 15,		/* magic block Tag.qpath */
-	Qpconfig	= Bconfig,	/* /adm/config block Tag.qpath */
-	Qpsuper		= Bsuper,	/* /adm/super block Tag.qpath */
+	Qpmagic		= 1,		/* magic block Tag.qpath */
+	Qpconfig	= Bdconfig,	/* /adm/config block Tag.qpath */
+	Qpsuper		= Bdsuper,	/* /adm/super block Tag.qpath */
 
 	Qpadm		= Bdadm,	/* /adm */
 	Qpbkp		= Bdbkp,	/* /adm/bkp block Tag.qpath */
--- a/sub.c
+++ b/sub.c
@@ -260,9 +260,9 @@
 	d->mtime = nsec();
 	d->pdblkno = Bdroot;
 	d->pqpath = Qproot;
-	d->dblocks[0] = Bdbkp;
-	d->dblocks[1] = Bdconfig;
-	d->dblocks[2] = Bdsuper;
+	d->dblocks[0] = Bdconfig;
+	d->dblocks[1] = Bdsuper;
+	d->dblocks[2] = Bdbkp;
 	d->dblocks[3] = Bdusers;
 	d->dblocks[4] = Bdfrees;
 	d->dblocks[5] = Bdctl;
@@ -296,7 +296,7 @@
 	memset(b->io, 0, Rawblocksize);
 	settag(b, Tdentry, Qpusers);
 	d = &b->io->d;
-	strncpy(d->name, "users", 4);
+	strncpy(d->name, "users", 6);
 	d->uid = d->muid = d->gid = -1;
 	d->mode = DMDIR |
 		((DMREAD|DMWRITE|DMEXEC) << 6) |
--- a/tests/test.0/blocks/1
+++ b/tests/test.0/blocks/1
@@ -1,7 +1,7 @@
-Tdata 2
+Tdata 4
 size 16384
 nblocks 32
-backup config 1 to 31 24
-backup super 2 to 30 23
-backup root 3 to 29 22
+backup config 1 to 31 25
+backup super 2 to 30 24
+backup root 19 to 29 23
 service test.0
--- a/tests/test.0/blocks/10
+++ b/tests/test.0/blocks/10
@@ -1,16 +1,16 @@
-Tdentry 8
+Tdentry 10
 qid.version 0
-qid.path 8
+qid.path 10
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666329175295312888
+pdblkno 6
+pqpath 6
+mtime 1668267709989672410
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 31
+	0 25
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.0
+name config.1
--- a/tests/test.0/blocks/11
+++ b/tests/test.0/blocks/11
@@ -1,16 +1,16 @@
-Tdentry 9
+Tdentry 11
 qid.version 0
-qid.path 9
+qid.path 11
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666329175295317307
+pdblkno 6
+pqpath 6
+mtime 1668267709989674670
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 30
+	0 24
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.0
+name super.1
--- a/tests/test.0/blocks/12
+++ b/tests/test.0/blocks/12
@@ -1,16 +1,16 @@
-Tdentry 10
+Tdentry 12
 qid.version 0
-qid.path 10
+qid.path 12
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666329175295319284
+pdblkno 6
+pqpath 6
+mtime 1668267709989676866
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 29
+	0 23
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name root.0
+name root.1
--- a/tests/test.0/blocks/13
+++ b/tests/test.0/blocks/13
@@ -1,17 +1,17 @@
-Tdentry 11
+Tdentry 13
 qid.version 0
-qid.path 11
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666329175295323928
-mode 444
+qid.path 13
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668267709989650115
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 24
-	1 0
+	0 14
+	1 18
 	2 0
 	3 0
 	4 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.1
+name users
--- a/tests/test.0/blocks/14
+++ b/tests/test.0/blocks/14
@@ -1,16 +1,16 @@
-Tdentry 12
+Tdentry 14
 qid.version 0
-qid.path 12
+qid.path 14
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666329175295325863
+pdblkno 13
+pqpath 13
+mtime 1668267709989682862
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 23
+	0 15
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.1
+name inuse
--- a/tests/test.0/blocks/15
+++ b/tests/test.0/blocks/15
@@ -1,52 +1,7 @@
-Tdentry 13
-qid.version 0
-qid.path 13
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666329175295327710
-mode 444
-uid -1
-gid -1
-muid -1
-direct blocks
-	0 22
-	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
-	5 0
-name root.1
+Tdata 14
+-1:adm:adm:glenda
+0:none:adm:
+9999:noworld::
+10000:sys::
+10001:upas:upas:
+10006:glenda:glenda:
--- a/tests/test.0/blocks/16
+++ b/tests/test.0/blocks/16
@@ -1,16 +1,16 @@
-Tdentry 14
+Tdentry 16
 qid.version 0
-qid.path 14
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666329175295303223
+qid.path 16
+size 17
+pdblkno 3
+pqpath 3
+mtime 1668267808446584890
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 0
+	0 20
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name ctl
+name frees
--- a/tests/test.0/blocks/17
+++ b/tests/test.0/blocks/17
@@ -1,16 +1,16 @@
-Tdentry 15
+Tdentry 17
 qid.version 0
-qid.path 15
-size 17
-pdblkno 4
-pqpath 5
-mtime 1666329177416394129
+qid.path 17
+size 0
+pdblkno 3
+pqpath 3
+mtime 1668267709989655296
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 18
+	0 0
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name frees
+name ctl
--- a/tests/test.0/blocks/18
+++ b/tests/test.0/blocks/18
@@ -1,3 +1,52 @@
-Tdata 15
-18 21 4
-25 28 4
+Tdentry 18
+qid.version 0
+qid.path 18
+size 503
+pdblkno 13
+pqpath 13
+mtime 1668267709989687520
+mode 444
+uid -1
+gid -1
+muid -1
+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
+	5 0
+name staging
--- a/tests/test.0/blocks/19
+++ b/tests/test.0/blocks/19
@@ -1,1 +1,52 @@
-Tblank 0
+Tdentry 19
+qid.version 0
+qid.path 19
+size 0
+pdblkno 0
+pqpath 0
+mtime 1668267709989691269
+mode 20000000777
+uid -1
+gid -1
+muid -1
+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
+	3 0
+	4 0
+	5 0
+name /
--- a/tests/test.0/blocks/2
+++ b/tests/test.0/blocks/2
@@ -1,4 +1,4 @@
-Tdata 3
+Tdata 5
 start 0
 tfree 0
 qidgen 64
--- a/tests/test.0/blocks/20
+++ b/tests/test.0/blocks/20
@@ -1,1 +1,3 @@
-Tblank 0
+Tdata 16
+20 22 3
+26 28 3
--- a/tests/test.0/blocks/22
+++ b/tests/test.0/blocks/22
@@ -1,1 +1,1 @@
-Tdata 13
+Tblank 0
--- a/tests/test.0/blocks/23
+++ b/tests/test.0/blocks/23
@@ -1,6 +1,1 @@
 Tdata 12
-start 0
-tfree 0
-qidgen 64
-frees 0
-fsok 1
--- a/tests/test.0/blocks/24
+++ b/tests/test.0/blocks/24
@@ -1,7 +1,6 @@
 Tdata 11
-size 16384
-nblocks 32
-backup config 1 to 31 24
-backup super 2 to 30 23
-backup root 3 to 29 22
-service test.0
+start 0
+tfree 0
+qidgen 64
+frees 0
+fsok 1
--- a/tests/test.0/blocks/25
+++ b/tests/test.0/blocks/25
@@ -1,1 +1,7 @@
-Tblank 0
+Tdata 10
+size 16384
+nblocks 32
+backup config 1 to 31 25
+backup super 2 to 30 24
+backup root 19 to 29 23
+service test.0
--- a/tests/test.0/blocks/29
+++ b/tests/test.0/blocks/29
@@ -1,1 +1,1 @@
-Tdata 10
+Tdata 9
--- a/tests/test.0/blocks/3
+++ b/tests/test.0/blocks/3
@@ -1,10 +1,10 @@
-Tdentry 63
+Tdentry 3
 qid.version 0
-qid.path 63
+qid.path 3
 size 0
-pdblkno 0
-pqpath 0
-mtime 1666329175295333183
+pdblkno 19
+pqpath 19
+mtime 1668267709989637868
 mode 20000000777
 uid -1
 gid -1
@@ -11,11 +11,11 @@
 muid -1
 direct blocks
 	0 4
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
+	1 5
+	2 6
+	3 13
+	4 16
+	5 17
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name /
+name adm
--- a/tests/test.0/blocks/30
+++ b/tests/test.0/blocks/30
@@ -1,4 +1,4 @@
-Tdata 9
+Tdata 8
 start 0
 tfree 0
 qidgen 64
--- a/tests/test.0/blocks/31
+++ b/tests/test.0/blocks/31
@@ -1,7 +1,7 @@
-Tdata 8
+Tdata 7
 size 16384
 nblocks 32
-backup config 1 to 31 24
-backup super 2 to 30 23
-backup root 3 to 29 22
+backup config 1 to 31 25
+backup super 2 to 30 24
+backup root 19 to 29 23
 service test.0
--- a/tests/test.0/blocks/4
+++ b/tests/test.0/blocks/4
@@ -1,21 +1,21 @@
-Tdentry 5
+Tdentry 4
 qid.version 0
-qid.path 5
+qid.path 4
 size 0
 pdblkno 3
-pqpath 63
-mtime 1666329175295288886
-mode 20000000777
+pqpath 3
+mtime 1668267709989653016
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 9
-	1 5
-	2 16
-	3 6
-	4 7
-	5 17
+	0 1
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name adm
+name config
--- a/tests/test.0/blocks/5
+++ b/tests/test.0/blocks/5
@@ -1,16 +1,16 @@
-Tdentry 2
+Tdentry 5
 qid.version 0
-qid.path 2
+qid.path 5
 size 0
-pdblkno 4
-pqpath 5
-mtime 1666329175295298713
+pdblkno 3
+pqpath 3
+mtime 1668267709989657428
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 1
+	0 2
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config
+name super
--- a/tests/test.0/blocks/6
+++ b/tests/test.0/blocks/6
@@ -1,21 +1,21 @@
-Tdentry 3
+Tdentry 6
 qid.version 0
-qid.path 3
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666329175295304952
-mode 444
+qid.path 6
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668267709989643837
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 2
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
+	0 7
+	1 8
+	2 9
+	3 10
+	4 11
+	5 12
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super
+name bkp
--- a/tests/test.0/blocks/7
+++ b/tests/test.0/blocks/7
@@ -1,16 +1,16 @@
-Tdentry 6
+Tdentry 7
 qid.version 0
-qid.path 6
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666329175295306785
+qid.path 7
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668267709989663903
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 8
+	0 31
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name users
+name config.0
--- a/tests/test.0/blocks/8
+++ b/tests/test.0/blocks/8
@@ -1,9 +1,52 @@
-Tdata 6
--1:adm:adm:
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10002:bootes:bootes:
-10006:glenda:glenda:
-10007:manies::
+Tdentry 8
+qid.version 0
+qid.path 8
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668267709989666061
+mode 444
+uid -1
+gid -1
+muid -1
+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
+	5 0
+name super.0
--- a/tests/test.0/blocks/9
+++ b/tests/test.0/blocks/9
@@ -1,21 +1,21 @@
-Tdentry 7
+Tdentry 9
 qid.version 0
-qid.path 7
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666329175295296450
-mode 20000000777
+qid.path 9
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668267709989668118
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 10
-	1 11
-	2 12
-	3 13
-	4 14
-	5 15
+	0 29
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name bkp
+name root.0
--- a/tests/test.0/notes
+++ b/tests/test.0/notes
@@ -4,32 +4,32 @@
 0		- magic
 1		- config
 2		- super block
-3		- / direntry
-4		- /adm/ dir entry
-5		- /adm/config dir entry
-6		- /adm/super dir entry
-7		- /adm/users dir entry
-8		- /adm/users contents
-9		- /adm/bkp/ dir entry
-10	- /adm/bkp/config.0 dir entry
-11	- /adm/bkp/super.0 dir entry
-12	- /adm/bkp/root.0 dir entry
-13	- /adm/bkp/config.1 dir entry
-14	- /adm/bkp/super.1 dir entry
-15	- /adm/bkp/root.1 dir entry
-16	- /adm/ctl dir entry -- virtual file, empty contents
-17	- /adm/frees dir entry
+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
+18		- /adm/users/staging dir entry
+19		- / direntry
 
-18	- /adm/frees contents
-19
-20
+20	- /adm/frees contents
 21
+22
 
-22	- / direntry
-23	- super block
-24	- config
+23	- / direntry
+24	- super block
+25	- config
 
-25
 26
 27
 28
--- a/tests/test.1/blocks/1
+++ b/tests/test.1/blocks/1
@@ -1,7 +1,7 @@
-Tdata 2
+Tdata 4
 size 16384
 nblocks 32
-backup config 1 to 31 24
-backup super 2 to 30 23
-backup root 3 to 29 22
+backup config 1 to 31 25
+backup super 2 to 30 24
+backup root 19 to 29 23
 service test.1
--- a/tests/test.1/blocks/10
+++ b/tests/test.1/blocks/10
@@ -1,16 +1,16 @@
-Tdentry 8
+Tdentry 10
 qid.version 0
-qid.path 8
+qid.path 10
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666331993065536646
+pdblkno 6
+pqpath 6
+mtime 1668267958478899561
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 31
+	0 25
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.0
+name config.1
--- a/tests/test.1/blocks/11
+++ b/tests/test.1/blocks/11
@@ -1,16 +1,16 @@
-Tdentry 9
+Tdentry 11
 qid.version 0
-qid.path 9
+qid.path 11
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666331993065540434
+pdblkno 6
+pqpath 6
+mtime 1668267958478902502
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 30
+	0 24
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.0
+name super.1
--- a/tests/test.1/blocks/12
+++ b/tests/test.1/blocks/12
@@ -1,16 +1,16 @@
-Tdentry 10
+Tdentry 12
 qid.version 0
-qid.path 10
+qid.path 12
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666331993065542088
+pdblkno 6
+pqpath 6
+mtime 1668267958478904853
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 29
+	0 23
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name root.0
+name root.1
--- a/tests/test.1/blocks/13
+++ b/tests/test.1/blocks/13
@@ -1,17 +1,17 @@
-Tdentry 11
+Tdentry 13
 qid.version 0
-qid.path 11
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666331993065546043
-mode 444
+qid.path 13
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668267958478865472
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 24
-	1 0
+	0 14
+	1 18
 	2 0
 	3 0
 	4 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.1
+name users
--- a/tests/test.1/blocks/14
+++ b/tests/test.1/blocks/14
@@ -1,16 +1,16 @@
-Tdentry 12
+Tdentry 14
 qid.version 0
-qid.path 12
+qid.path 14
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666331993065547831
+pdblkno 13
+pqpath 13
+mtime 1668267958478907115
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 23
+	0 15
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.1
+name inuse
--- a/tests/test.1/blocks/15
+++ b/tests/test.1/blocks/15
@@ -1,52 +1,7 @@
-Tdentry 13
-qid.version 0
-qid.path 13
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666331993065549444
-mode 444
-uid -1
-gid -1
-muid -1
-direct blocks
-	0 22
-	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
-	5 0
-name root.1
+Tdata 14
+-1:adm:adm:glenda
+0:none:adm:
+9999:noworld::
+10000:sys::
+10001:upas:upas:
+10006:glenda:glenda:
--- a/tests/test.1/blocks/16
+++ b/tests/test.1/blocks/16
@@ -1,16 +1,16 @@
-Tdentry 14
+Tdentry 16
 qid.version 0
-qid.path 14
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666331993065527426
+qid.path 16
+size 9
+pdblkno 3
+pqpath 3
+mtime 1668267960619603517
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 0
+	0 26
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name ctl
+name frees
--- a/tests/test.1/blocks/17
+++ b/tests/test.1/blocks/17
@@ -1,16 +1,16 @@
-Tdentry 15
+Tdentry 17
 qid.version 0
-qid.path 15
-size 17
-pdblkno 4
-pqpath 5
-mtime 1666331995204020564
+qid.path 17
+size 0
+pdblkno 3
+pqpath 3
+mtime 1668267958478874732
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 21
+	0 0
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name frees
+name ctl
--- a/tests/test.1/blocks/18
+++ b/tests/test.1/blocks/18
@@ -1,16 +1,16 @@
-Tdentry 64
+Tdentry 18
 qid.version 0
-qid.path 64
-size 0
-pdblkno 3
-pqpath 63
-mtime 1666331994198684067
-mode 20000000777
-uid 10006
+qid.path 18
+size 503
+pdblkno 13
+pqpath 13
+mtime 1668267958478911556
+mode 444
+uid -1
 gid -1
-muid 10006
+muid -1
 direct blocks
-	0 19
+	0 0
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name dir1
+name staging
--- a/tests/test.1/blocks/19
+++ b/tests/test.1/blocks/19
@@ -1,17 +1,17 @@
-Tdentry 65
+Tdentry 19
 qid.version 0
-qid.path 65
-size 5
-pdblkno 18
-pqpath 64
-mtime 1666331994200419634
-mode 666
-uid 10006
+qid.path 19
+size 0
+pdblkno 0
+pqpath 0
+mtime 1668267958478915664
+mode 20000000777
+uid -1
 gid -1
-muid 10006
+muid -1
 direct blocks
-	0 20
-	1 0
+	0 3
+	1 20
 	2 0
 	3 0
 	4 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name file1
+name /
--- a/tests/test.1/blocks/2
+++ b/tests/test.1/blocks/2
@@ -1,4 +1,4 @@
-Tdata 3
+Tdata 5
 start 0
 tfree 0
 qidgen 66
--- a/tests/test.1/blocks/20
+++ b/tests/test.1/blocks/20
@@ -1,2 +1,52 @@
-Tdata 65
-test
+Tdentry 64
+qid.version 0
+qid.path 64
+size 0
+pdblkno 19
+pqpath 19
+mtime 1668267959614455311
+mode 20000000777
+uid 10006
+gid -1
+muid 10006
+direct blocks
+	0 21
+	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
+	5 0
+name dir1
--- a/tests/test.1/blocks/21
+++ b/tests/test.1/blocks/21
@@ -1,3 +1,52 @@
-Tdata 15
-21 21 1
-25 28 4
+Tdentry 65
+qid.version 0
+qid.path 65
+size 5
+pdblkno 20
+pqpath 64
+mtime 1668267959616332542
+mode 666
+uid 10006
+gid -1
+muid 10006
+direct blocks
+	0 22
+	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
+	5 0
+name file1
--- a/tests/test.1/blocks/22
+++ b/tests/test.1/blocks/22
@@ -1,1 +1,2 @@
-Tdata 13
+Tdata 65
+test
--- a/tests/test.1/blocks/23
+++ b/tests/test.1/blocks/23
@@ -1,6 +1,1 @@
 Tdata 12
-start 0
-tfree 0
-qidgen 66
-frees 0
-fsok 1
--- a/tests/test.1/blocks/24
+++ b/tests/test.1/blocks/24
@@ -1,7 +1,6 @@
 Tdata 11
-size 16384
-nblocks 32
-backup config 1 to 31 24
-backup super 2 to 30 23
-backup root 3 to 29 22
-service test.1
+start 0
+tfree 0
+qidgen 66
+frees 0
+fsok 1
--- a/tests/test.1/blocks/25
+++ b/tests/test.1/blocks/25
@@ -1,1 +1,7 @@
-Tblank 0
+Tdata 10
+size 16384
+nblocks 32
+backup config 1 to 31 25
+backup super 2 to 30 24
+backup root 19 to 29 23
+service test.1
--- a/tests/test.1/blocks/26
+++ b/tests/test.1/blocks/26
@@ -1,1 +1,2 @@
-Tblank 0
+Tdata 16
+26 28 3
--- a/tests/test.1/blocks/29
+++ b/tests/test.1/blocks/29
@@ -1,1 +1,1 @@
-Tdata 10
+Tdata 9
--- a/tests/test.1/blocks/3
+++ b/tests/test.1/blocks/3
@@ -1,10 +1,10 @@
-Tdentry 63
+Tdentry 3
 qid.version 0
-qid.path 63
+qid.path 3
 size 0
-pdblkno 0
-pqpath 0
-mtime 1666331993065555082
+pdblkno 19
+pqpath 19
+mtime 1668267958478834785
 mode 20000000777
 uid -1
 gid -1
@@ -11,11 +11,11 @@
 muid -1
 direct blocks
 	0 4
-	1 18
-	2 0
-	3 0
-	4 0
-	5 0
+	1 5
+	2 6
+	3 13
+	4 16
+	5 17
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name /
+name adm
--- a/tests/test.1/blocks/30
+++ b/tests/test.1/blocks/30
@@ -1,4 +1,4 @@
-Tdata 9
+Tdata 8
 start 0
 tfree 0
 qidgen 66
--- a/tests/test.1/blocks/31
+++ b/tests/test.1/blocks/31
@@ -1,7 +1,7 @@
-Tdata 8
+Tdata 7
 size 16384
 nblocks 32
-backup config 1 to 31 24
-backup super 2 to 30 23
-backup root 3 to 29 22
+backup config 1 to 31 25
+backup super 2 to 30 24
+backup root 19 to 29 23
 service test.1
--- a/tests/test.1/blocks/4
+++ b/tests/test.1/blocks/4
@@ -1,21 +1,21 @@
-Tdentry 5
+Tdentry 4
 qid.version 0
-qid.path 5
+qid.path 4
 size 0
 pdblkno 3
-pqpath 63
-mtime 1666331993065512932
-mode 20000000777
+pqpath 3
+mtime 1668267958478871986
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 9
-	1 5
-	2 16
-	3 6
-	4 7
-	5 17
+	0 1
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name adm
+name config
--- a/tests/test.1/blocks/5
+++ b/tests/test.1/blocks/5
@@ -1,16 +1,16 @@
-Tdentry 2
+Tdentry 5
 qid.version 0
-qid.path 2
+qid.path 5
 size 0
-pdblkno 4
-pqpath 5
-mtime 1666331993065522785
+pdblkno 3
+pqpath 3
+mtime 1668267958478877355
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 1
+	0 2
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config
+name super
--- a/tests/test.1/blocks/6
+++ b/tests/test.1/blocks/6
@@ -1,21 +1,21 @@
-Tdentry 3
+Tdentry 6
 qid.version 0
-qid.path 3
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666331993065529141
-mode 444
+qid.path 6
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668267958478839637
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 2
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
+	0 7
+	1 8
+	2 9
+	3 10
+	4 11
+	5 12
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super
+name bkp
--- a/tests/test.1/blocks/7
+++ b/tests/test.1/blocks/7
@@ -1,16 +1,16 @@
-Tdentry 6
+Tdentry 7
 qid.version 0
-qid.path 6
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666331993065530969
+qid.path 7
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668267958478885492
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 8
+	0 31
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name users
+name config.0
--- a/tests/test.1/blocks/8
+++ b/tests/test.1/blocks/8
@@ -1,9 +1,52 @@
-Tdata 6
--1:adm:adm:
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10002:bootes:bootes:
-10006:glenda:glenda:
-10007:manies::
+Tdentry 8
+qid.version 0
+qid.path 8
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668267958478887649
+mode 444
+uid -1
+gid -1
+muid -1
+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
+	5 0
+name super.0
--- a/tests/test.1/blocks/9
+++ b/tests/test.1/blocks/9
@@ -1,21 +1,21 @@
-Tdentry 7
+Tdentry 9
 qid.version 0
-qid.path 7
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666331993065520481
-mode 20000000777
+qid.path 9
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668267958478889704
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 10
-	1 11
-	2 12
-	3 13
-	4 14
-	5 15
+	0 29
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name bkp
+name root.0
--- a/tests/test.1/notes
+++ b/tests/test.1/notes
@@ -7,33 +7,33 @@
 0		- magic
 1		- config
 2		- super block
-3		- / direntry
-4		- /adm/ dir entry
-5		- /adm/config dir entry
-6		- /adm/super dir entry
-7		- /adm/users dir entry
-8		- /adm/users contents
-9		- /adm/bkp/ dir entry
-10	- /adm/bkp/config.0 dir entry
-11	- /adm/bkp/super.0 dir entry
-12	- /adm/bkp/root.0 dir entry
-13	- /adm/bkp/config.1 dir entry
-14	- /adm/bkp/super.1 dir entry
-15	- /adm/bkp/root.1 dir entry
-16	- /adm/ctl dir entry -- virtual file, empty contents
-17	- /adm/frees dir entry
+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
+18		- /adm/users/staging dir entry
+19		- / direntry
 
-18	- /dir1 directory entry
-19	- /dir1/file1 directory entry
-20	- /dir1/file1 contents
-21	- /adm/frees contents
+20	- /dir1 directory entry
+21	- /dir1/file1 directory entry
+22	- /dir1/file1 contents
 
-22	- / direntry
-23	- super block
-24	- config
+23	- / direntry
+24	- super block
+25	- config
 
-25
-26
+26	- /adm/frees contents
 27
 28
 
--- a/tests/test.2/blocks/1
+++ b/tests/test.2/blocks/1
@@ -1,7 +1,7 @@
-Tdata 2
+Tdata 4
 size 20480
 nblocks 40
-backup config 1 to 39 28
-backup super 2 to 38 27
-backup root 3 to 37 26
+backup config 1 to 39 29
+backup super 2 to 38 28
+backup root 19 to 37 27
 service test.2
--- a/tests/test.2/blocks/10
+++ b/tests/test.2/blocks/10
@@ -1,16 +1,16 @@
-Tdentry 8
+Tdentry 10
 qid.version 0
-qid.path 8
+qid.path 10
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666332446276265491
+pdblkno 6
+pqpath 6
+mtime 1668268165996723514
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 39
+	0 29
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.0
+name config.1
--- a/tests/test.2/blocks/11
+++ b/tests/test.2/blocks/11
@@ -1,16 +1,16 @@
-Tdentry 9
+Tdentry 11
 qid.version 0
-qid.path 9
+qid.path 11
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666332446276270426
+pdblkno 6
+pqpath 6
+mtime 1668268165996735329
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 38
+	0 28
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.0
+name super.1
--- a/tests/test.2/blocks/12
+++ b/tests/test.2/blocks/12
@@ -1,16 +1,16 @@
-Tdentry 10
+Tdentry 12
 qid.version 0
-qid.path 10
+qid.path 12
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666332446276272441
+pdblkno 6
+pqpath 6
+mtime 1668268165996738003
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 37
+	0 27
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name root.0
+name root.1
--- a/tests/test.2/blocks/13
+++ b/tests/test.2/blocks/13
@@ -1,17 +1,17 @@
-Tdentry 11
+Tdentry 13
 qid.version 0
-qid.path 11
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666332446276277133
-mode 444
+qid.path 13
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668268165996702062
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 28
-	1 0
+	0 14
+	1 18
 	2 0
 	3 0
 	4 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.1
+name users
--- a/tests/test.2/blocks/14
+++ b/tests/test.2/blocks/14
@@ -1,16 +1,16 @@
-Tdentry 12
+Tdentry 14
 qid.version 0
-qid.path 12
+qid.path 14
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666332446276279179
+pdblkno 13
+pqpath 13
+mtime 1668268165996740186
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 27
+	0 15
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.1
+name inuse
--- a/tests/test.2/blocks/15
+++ b/tests/test.2/blocks/15
@@ -1,52 +1,7 @@
-Tdentry 13
-qid.version 0
-qid.path 13
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666332446276281041
-mode 444
-uid -1
-gid -1
-muid -1
-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
-	5 0
-name root.1
+Tdata 14
+-1:adm:adm:glenda
+0:none:adm:
+9999:noworld::
+10000:sys::
+10001:upas:upas:
+10006:glenda:glenda:
--- a/tests/test.2/blocks/16
+++ b/tests/test.2/blocks/16
@@ -1,16 +1,16 @@
-Tdentry 14
+Tdentry 16
 qid.version 0
-qid.path 14
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666332446276255503
+qid.path 16
+size 17
+pdblkno 3
+pqpath 3
+mtime 1668268168265482931
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 0
+	0 21
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name ctl
+name frees
--- a/tests/test.2/blocks/17
+++ b/tests/test.2/blocks/17
@@ -1,16 +1,16 @@
-Tdentry 15
+Tdentry 17
 qid.version 0
-qid.path 15
-size 17
-pdblkno 4
-pqpath 5
-mtime 1666332448772732576
+qid.path 17
+size 0
+pdblkno 3
+pqpath 3
+mtime 1668268165996707789
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 19
+	0 0
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name frees
+name ctl
--- a/tests/test.2/blocks/18
+++ b/tests/test.2/blocks/18
@@ -1,14 +1,14 @@
-Tdentry 0
+Tdentry 18
 qid.version 0
-qid.path 0
-size 0
-pdblkno 0
-pqpath 0
-mtime 0
-mode 0
-uid 0
-gid 0
-muid 0
+qid.path 18
+size 503
+pdblkno 13
+pqpath 13
+mtime 1668268165996742342
+mode 444
+uid -1
+gid -1
+muid -1
 direct blocks
 	0 0
 	1 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name 
+name staging
--- a/tests/test.2/blocks/19
+++ b/tests/test.2/blocks/19
@@ -1,3 +1,52 @@
-Tdata 15
-19 25 7
-29 36 8
+Tdentry 19
+qid.version 0
+qid.path 19
+size 0
+pdblkno 0
+pqpath 0
+mtime 1668268165996748935
+mode 20000000777
+uid -1
+gid -1
+muid -1
+direct blocks
+	0 3
+	1 20
+	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
+	5 0
+name /
--- a/tests/test.2/blocks/2
+++ b/tests/test.2/blocks/2
@@ -1,4 +1,4 @@
-Tdata 3
+Tdata 5
 start 0
 tfree 0
 qidgen 72
--- a/tests/test.2/blocks/23
+++ b/tests/test.2/blocks/23
@@ -1,1 +1,1 @@
-Tblank 0
+Tdata 71
--- a/tests/test.2/blocks/26
+++ b/tests/test.2/blocks/26
@@ -1,1 +1,1 @@
-Tdata 13
+Tblank 0
--- a/tests/test.2/blocks/27
+++ b/tests/test.2/blocks/27
@@ -1,6 +1,1 @@
 Tdata 12
-start 0
-tfree 0
-qidgen 72
-frees 0
-fsok 1
--- a/tests/test.2/blocks/28
+++ b/tests/test.2/blocks/28
@@ -1,7 +1,6 @@
 Tdata 11
-size 20480
-nblocks 40
-backup config 1 to 39 28
-backup super 2 to 38 27
-backup root 3 to 37 26
-service test.2
+start 0
+tfree 0
+qidgen 72
+frees 0
+fsok 1
--- a/tests/test.2/blocks/29
+++ b/tests/test.2/blocks/29
@@ -1,1 +1,7 @@
-Tblank 0
+Tdata 10
+size 20480
+nblocks 40
+backup config 1 to 39 29
+backup super 2 to 38 28
+backup root 19 to 37 27
+service test.2
--- a/tests/test.2/blocks/3
+++ b/tests/test.2/blocks/3
@@ -1,10 +1,10 @@
-Tdentry 63
+Tdentry 3
 qid.version 0
-qid.path 63
+qid.path 3
 size 0
-pdblkno 0
-pqpath 0
-mtime 1666332446276286896
+pdblkno 19
+pqpath 19
+mtime 1668268165996672815
 mode 20000000777
 uid -1
 gid -1
@@ -11,11 +11,11 @@
 muid -1
 direct blocks
 	0 4
-	1 18
-	2 0
-	3 0
-	4 0
-	5 0
+	1 5
+	2 6
+	3 13
+	4 16
+	5 17
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name /
+name adm
--- a/tests/test.2/blocks/37
+++ b/tests/test.2/blocks/37
@@ -1,1 +1,1 @@
-Tdata 10
+Tdata 9
--- a/tests/test.2/blocks/38
+++ b/tests/test.2/blocks/38
@@ -1,4 +1,4 @@
-Tdata 9
+Tdata 8
 start 0
 tfree 0
 qidgen 72
--- a/tests/test.2/blocks/39
+++ b/tests/test.2/blocks/39
@@ -1,7 +1,7 @@
-Tdata 8
+Tdata 7
 size 20480
 nblocks 40
-backup config 1 to 39 28
-backup super 2 to 38 27
-backup root 3 to 37 26
+backup config 1 to 39 29
+backup super 2 to 38 28
+backup root 19 to 37 27
 service test.2
--- a/tests/test.2/blocks/4
+++ b/tests/test.2/blocks/4
@@ -1,21 +1,21 @@
-Tdentry 5
+Tdentry 4
 qid.version 0
-qid.path 5
+qid.path 4
 size 0
 pdblkno 3
-pqpath 63
-mtime 1666332446276240403
-mode 20000000777
+pqpath 3
+mtime 1668268165996705316
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 9
-	1 5
-	2 16
-	3 6
-	4 7
-	5 17
+	0 1
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name adm
+name config
--- a/tests/test.2/blocks/5
+++ b/tests/test.2/blocks/5
@@ -1,16 +1,16 @@
-Tdentry 2
+Tdentry 5
 qid.version 0
-qid.path 2
+qid.path 5
 size 0
-pdblkno 4
-pqpath 5
-mtime 1666332446276250637
+pdblkno 3
+pqpath 3
+mtime 1668268165996710403
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 1
+	0 2
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config
+name super
--- a/tests/test.2/blocks/6
+++ b/tests/test.2/blocks/6
@@ -1,21 +1,21 @@
-Tdentry 3
+Tdentry 6
 qid.version 0
-qid.path 3
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666332446276257203
-mode 444
+qid.path 6
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668268165996683342
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 2
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
+	0 7
+	1 8
+	2 9
+	3 10
+	4 11
+	5 12
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super
+name bkp
--- a/tests/test.2/blocks/7
+++ b/tests/test.2/blocks/7
@@ -1,16 +1,16 @@
-Tdentry 6
+Tdentry 7
 qid.version 0
-qid.path 6
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666332446276259009
+qid.path 7
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668268165996717290
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 8
+	0 39
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name users
+name config.0
--- a/tests/test.2/blocks/8
+++ b/tests/test.2/blocks/8
@@ -1,9 +1,52 @@
-Tdata 6
--1:adm:adm:
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10002:bootes:bootes:
-10006:glenda:glenda:
-10007:manies::
+Tdentry 8
+qid.version 0
+qid.path 8
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668268165996719501
+mode 444
+uid -1
+gid -1
+muid -1
+direct blocks
+	0 38
+	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
+	5 0
+name super.0
--- a/tests/test.2/blocks/9
+++ b/tests/test.2/blocks/9
@@ -1,21 +1,21 @@
-Tdentry 7
+Tdentry 9
 qid.version 0
-qid.path 7
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666332446276248096
-mode 20000000777
+qid.path 9
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668268165996721532
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 10
-	1 11
-	2 12
-	3 13
-	4 14
-	5 15
+	0 37
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name bkp
+name root.0
--- a/tests/test.2/notes
+++ b/tests/test.2/notes
@@ -6,26 +6,26 @@
 0		- magic
 1		- config
 2		- super block
-3		- / direntry
-4		- /adm/ dir entry
-5		- /adm/config dir entry
-6		- /adm/super dir entry
-7		- /adm/users dir entry
-8		- /adm/users contents
-9		- /adm/bkp/ dir entry
-10	- /adm/bkp/config.0 dir entry
-11	- /adm/bkp/super.0 dir entry
-12	- /adm/bkp/root.0 dir entry
-13	- /adm/bkp/config.1 dir entry
-14	- /adm/bkp/super.1 dir entry
-15	- /adm/bkp/root.1 dir entry
-16	- /adm/ctl dir entry -- virtual file, empty contents
-17	- /adm/frees dir entry
+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
+18		- /adm/users/staging dir entry
+19		- / direntry
 
-18	- /file1 blank dentry as /file1 was deleted but / still holds onto the dentry
-19	- /adm/frees contents
-20
-21
+20	- /file1 blank dentry as /file1 was deleted but / still holds onto the dentry
+21	- /adm/frees contents
 
 22
 23
@@ -32,11 +32,10 @@
 24
 25
 
-26	- / direntry
-27	- super block
-28	- config
+27	- / direntry
+28	- super block
+29	- config
 
-29
 30
 31
 32
--- a/tests/test.3/blocks/1
+++ b/tests/test.3/blocks/1
@@ -1,7 +1,7 @@
-Tdata 2
+Tdata 4
 size 20971520
 nblocks 40960
-backup config 1 to 40959 20488
-backup super 2 to 40958 20487
-backup root 3 to 40957 20486
+backup config 1 to 40959 20489
+backup super 2 to 40958 20488
+backup root 19 to 40957 20487
 service test.3
--- a/tests/test.3/blocks/10
+++ b/tests/test.3/blocks/10
@@ -1,16 +1,16 @@
-Tdentry 8
+Tdentry 10
 qid.version 0
-qid.path 8
+qid.path 10
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666355236185882933
+pdblkno 6
+pqpath 6
+mtime 1668268616172897640
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 40959
+	0 20489
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.0
+name config.1
--- a/tests/test.3/blocks/11
+++ b/tests/test.3/blocks/11
@@ -1,16 +1,16 @@
-Tdentry 9
+Tdentry 11
 qid.version 0
-qid.path 9
+qid.path 11
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666355236185888080
+pdblkno 6
+pqpath 6
+mtime 1668268616172911650
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 40958
+	0 20488
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.0
+name super.1
--- a/tests/test.3/blocks/12
+++ b/tests/test.3/blocks/12
@@ -1,16 +1,16 @@
-Tdentry 10
+Tdentry 12
 qid.version 0
-qid.path 10
+qid.path 12
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666355236185889788
+pdblkno 6
+pqpath 6
+mtime 1668268616172914257
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 40957
+	0 20487
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name root.0
+name root.1
--- a/tests/test.3/blocks/13
+++ b/tests/test.3/blocks/13
@@ -1,17 +1,17 @@
-Tdentry 11
+Tdentry 13
 qid.version 0
-qid.path 11
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666355236185894127
-mode 444
+qid.path 13
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668268616172875707
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 20488
-	1 0
+	0 14
+	1 18
 	2 0
 	3 0
 	4 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.1
+name users
--- a/tests/test.3/blocks/14
+++ b/tests/test.3/blocks/14
@@ -1,16 +1,16 @@
-Tdentry 12
+Tdentry 14
 qid.version 0
-qid.path 12
+qid.path 14
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666355236185895736
+pdblkno 13
+pqpath 13
+mtime 1668268616172916463
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 20487
+	0 15
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.1
+name inuse
--- a/tests/test.3/blocks/15
+++ b/tests/test.3/blocks/15
@@ -1,52 +1,7 @@
-Tdentry 13
-qid.version 0
-qid.path 13
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666355236185900190
-mode 444
-uid -1
-gid -1
-muid -1
-direct blocks
-	0 20486
-	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
-	5 0
-name root.1
+Tdata 14
+-1:adm:adm:glenda
+0:none:adm:
+9999:noworld::
+10000:sys::
+10001:upas:upas:
+10006:glenda:glenda:
--- a/tests/test.3/blocks/16
+++ b/tests/test.3/blocks/16
@@ -1,16 +1,16 @@
-Tdentry 14
+Tdentry 16
 qid.version 0
-qid.path 14
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666355236185869652
+qid.path 16
+size 34
+pdblkno 3
+pqpath 3
+mtime 1668268654717936930
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 0
+	0 21
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name ctl
+name frees
--- a/tests/test.3/blocks/17
+++ b/tests/test.3/blocks/17
@@ -1,16 +1,16 @@
-Tdentry 15
+Tdentry 17
 qid.version 0
-qid.path 15
-size 34
-pdblkno 4
-pqpath 5
-mtime 1666355307752040277
+qid.path 17
+size 0
+pdblkno 3
+pqpath 3
+mtime 1668268616172881003
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 19
+	0 0
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name frees
+name ctl
--- a/tests/test.3/blocks/18
+++ b/tests/test.3/blocks/18
@@ -1,14 +1,14 @@
-Tdentry 0
+Tdentry 18
 qid.version 0
-qid.path 0
-size 0
-pdblkno 0
-pqpath 0
-mtime 0
-mode 0
-uid 0
-gid 0
-muid 0
+qid.path 18
+size 503
+pdblkno 13
+pqpath 13
+mtime 1668268616172918640
+mode 444
+uid -1
+gid -1
+muid -1
 direct blocks
 	0 0
 	1 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name 
+name staging
--- a/tests/test.3/blocks/2
+++ b/tests/test.3/blocks/2
@@ -1,4 +1,4 @@
-Tdata 3
+Tdata 5
 start 0
 tfree 0
 qidgen 74
--- a/tests/test.3/blocks/20486
+++ b/tests/test.3/blocks/20486
@@ -1,1 +1,1 @@
-Tdata 13
+Tblank 0
--- a/tests/test.3/blocks/20487
+++ b/tests/test.3/blocks/20487
@@ -1,6 +1,1 @@
 Tdata 12
-start 0
-tfree 0
-qidgen 74
-frees 0
-fsok 1
--- a/tests/test.3/blocks/20488
+++ b/tests/test.3/blocks/20488
@@ -1,7 +1,6 @@
 Tdata 11
-size 20971520
-nblocks 40960
-backup config 1 to 40959 20488
-backup super 2 to 40958 20487
-backup root 3 to 40957 20486
-service test.3
+start 0
+tfree 0
+qidgen 74
+frees 0
+fsok 1
--- /dev/null
+++ b/tests/test.3/blocks/20489
@@ -1,0 +1,7 @@
+Tdata 10
+size 20971520
+nblocks 40960
+backup config 1 to 40959 20489
+backup super 2 to 40958 20488
+backup root 19 to 40957 20487
+service test.3
--- a/tests/test.3/blocks/3
+++ b/tests/test.3/blocks/3
@@ -1,10 +1,10 @@
-Tdentry 63
+Tdentry 3
 qid.version 0
-qid.path 63
+qid.path 3
 size 0
-pdblkno 0
-pqpath 0
-mtime 1666355236185903302
+pdblkno 19
+pqpath 19
+mtime 1668268616172855581
 mode 20000000777
 uid -1
 gid -1
@@ -11,11 +11,11 @@
 muid -1
 direct blocks
 	0 4
-	1 18
-	2 0
-	3 0
-	4 0
-	5 0
+	1 5
+	2 6
+	3 13
+	4 16
+	5 17
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name /
+name adm
--- a/tests/test.3/blocks/4
+++ b/tests/test.3/blocks/4
@@ -1,21 +1,21 @@
-Tdentry 5
+Tdentry 4
 qid.version 0
-qid.path 5
+qid.path 4
 size 0
 pdblkno 3
-pqpath 63
-mtime 1666355236185857383
-mode 20000000777
+pqpath 3
+mtime 1668268616172879046
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 9
-	1 5
-	2 16
-	3 6
-	4 7
-	5 17
+	0 1
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name adm
+name config
--- a/tests/test.3/blocks/40957
+++ b/tests/test.3/blocks/40957
@@ -1,1 +1,1 @@
-Tdata 10
+Tdata 9
--- a/tests/test.3/blocks/40958
+++ b/tests/test.3/blocks/40958
@@ -1,4 +1,4 @@
-Tdata 9
+Tdata 8
 start 0
 tfree 0
 qidgen 74
--- a/tests/test.3/blocks/40959
+++ b/tests/test.3/blocks/40959
@@ -1,7 +1,7 @@
-Tdata 8
+Tdata 7
 size 20971520
 nblocks 40960
-backup config 1 to 40959 20488
-backup super 2 to 40958 20487
-backup root 3 to 40957 20486
+backup config 1 to 40959 20489
+backup super 2 to 40958 20488
+backup root 19 to 40957 20487
 service test.3
--- a/tests/test.3/blocks/5
+++ b/tests/test.3/blocks/5
@@ -1,16 +1,16 @@
-Tdentry 2
+Tdentry 5
 qid.version 0
-qid.path 2
+qid.path 5
 size 0
-pdblkno 4
-pqpath 5
-mtime 1666355236185867608
+pdblkno 3
+pqpath 3
+mtime 1668268616172883213
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 1
+	0 2
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config
+name super
--- a/tests/test.3/blocks/6
+++ b/tests/test.3/blocks/6
@@ -1,21 +1,21 @@
-Tdentry 3
+Tdentry 6
 qid.version 0
-qid.path 3
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666355236185871653
-mode 444
+qid.path 6
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668268616172860576
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 2
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
+	0 7
+	1 8
+	2 9
+	3 10
+	4 11
+	5 12
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super
+name bkp
--- a/tests/test.3/blocks/7
+++ b/tests/test.3/blocks/7
@@ -1,16 +1,16 @@
-Tdentry 6
+Tdentry 7
 qid.version 0
-qid.path 6
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666355236185879140
+qid.path 7
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668268616172890675
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 8
+	0 40959
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name users
+name config.0
--- a/tests/test.3/blocks/8
+++ b/tests/test.3/blocks/8
@@ -1,9 +1,52 @@
-Tdata 6
--1:adm:adm:
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10002:bootes:bootes:
-10006:glenda:glenda:
-10007:manies::
+Tdentry 8
+qid.version 0
+qid.path 8
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668268616172893347
+mode 444
+uid -1
+gid -1
+muid -1
+direct blocks
+	0 40958
+	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
+	5 0
+name super.0
--- a/tests/test.3/blocks/9
+++ b/tests/test.3/blocks/9
@@ -1,21 +1,21 @@
-Tdentry 7
+Tdentry 9
 qid.version 0
-qid.path 7
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666355236185864460
-mode 20000000777
+qid.path 9
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668268616172895606
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 10
-	1 11
-	2 12
-	3 13
-	4 14
-	5 15
+	0 40957
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name bkp
+name root.0
--- a/tests/test.3/notes
+++ b/tests/test.3/notes
@@ -8,30 +8,30 @@
 0		- magic
 1		- config
 2		- super block
-3		- / direntry
-4		- /adm/ dir entry
-5		- /adm/config dir entry
-6		- /adm/super dir entry
-7		- /adm/users dir entry
-8		- /adm/users contents
-9		- /adm/bkp/ dir entry
-10	- /adm/bkp/config.0 dir entry
-11	- /adm/bkp/super.0 dir entry
-12	- /adm/bkp/root.0 dir entry
-13	- /adm/bkp/config.1 dir entry
-14	- /adm/bkp/super.1 dir entry
-15	- /adm/bkp/root.1 dir entry
-16	- /adm/ctl dir entry -- virtual file, empty contents
-17	- /adm/frees dir entry
+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
+18		- /adm/users/staging dir entry
+19		- / direntry
 
-18	- big file blank dentry as the big file was deleted but / still holds onto the dentry
-19	- /adm/frees contents
-20
-21
+20	- big file blank dentry as the big file was deleted but / still holds onto the dentry
+21	- /adm/frees contents
 
-20486	- / direntry
-20487	- super block
-20488	- config
+20487	- / direntry
+20488	- super block
+20489	- config
 
 40957	- / direntry
 40958	- super block
--- a/tests/test.4/notes
+++ b/tests/test.4/notes
@@ -5,30 +5,30 @@
 0		- magic
 1		- config
 2		- super block
-3		- / direntry
-4		- /adm/ dir entry
-5		- /adm/config dir entry
-6		- /adm/super dir entry
-7		- /adm/users dir entry
-8		- /adm/users contents
-9		- /adm/bkp/ dir entry
-10	- /adm/bkp/config.0 dir entry
-11	- /adm/bkp/super.0 dir entry
-12	- /adm/bkp/root.0 dir entry
-13	- /adm/bkp/config.1 dir entry
-14	- /adm/bkp/super.1 dir entry
-15	- /adm/bkp/root.1 dir entry
-16	- /adm/ctl dir entry -- virtual file, empty contents
-17	- /adm/frees dir entry
+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
+18		- /adm/users/staging dir entry
+19		- / direntry
 
-18	- big file blank dentry as the big file was deleted but / still holds onto the dentry
-19	- /adm/frees contents
-20
-21
+20	- big file blank dentry as the big file was deleted but / still holds onto the dentry
+21	- /adm/frees contents
 
-20486	- / direntry
-20487	- super block
-20488	- config
+39	- / direntry
+40	- super block
+41	- config
 
 61	- / direntry
 62	- super block
--- a/tests/test.5/action.rc
+++ b/tests/test.5/action.rc
@@ -5,5 +5,5 @@
 # ls -l /srv/ /n/
 time fcp -x test.5/23.messages.gz /n/^$service^/
 time fcp -x test.5/01.messages.gz /n/^$service^/
-du -a /n/^$service^
+du -a /n/^$service
 ls -l test.5/23.messages.gz test.5/01.messages.gz /n/^$service^/
--- a/tests/test.6/blocks/1
+++ b/tests/test.6/blocks/1
@@ -1,7 +1,7 @@
-Tdata 2
+Tdata 4
 size 16384
 nblocks 32
-backup config 1 to 31 24
-backup super 2 to 30 23
-backup root 3 to 29 22
+backup config 1 to 31 25
+backup super 2 to 30 24
+backup root 19 to 29 23
 service test.6
--- a/tests/test.6/blocks/10
+++ b/tests/test.6/blocks/10
@@ -1,16 +1,16 @@
-Tdentry 8
+Tdentry 10
 qid.version 0
-qid.path 8
+qid.path 10
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666333071921971487
+pdblkno 6
+pqpath 6
+mtime 1668268945313173592
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 31
+	0 25
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.0
+name config.1
--- a/tests/test.6/blocks/11
+++ b/tests/test.6/blocks/11
@@ -1,16 +1,16 @@
-Tdentry 9
+Tdentry 11
 qid.version 0
-qid.path 9
+qid.path 11
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666333071921975242
+pdblkno 6
+pqpath 6
+mtime 1668268945313176412
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 30
+	0 24
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.0
+name super.1
--- a/tests/test.6/blocks/12
+++ b/tests/test.6/blocks/12
@@ -1,16 +1,16 @@
-Tdentry 10
+Tdentry 12
 qid.version 0
-qid.path 10
+qid.path 12
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666333071921977005
+pdblkno 6
+pqpath 6
+mtime 1668268945313178765
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 29
+	0 23
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name root.0
+name root.1
--- a/tests/test.6/blocks/13
+++ b/tests/test.6/blocks/13
@@ -1,17 +1,17 @@
-Tdentry 11
+Tdentry 13
 qid.version 0
-qid.path 11
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666333071921981139
-mode 444
+qid.path 13
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668268945313143307
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 24
-	1 0
+	0 14
+	1 18
 	2 0
 	3 0
 	4 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.1
+name users
--- a/tests/test.6/blocks/14
+++ b/tests/test.6/blocks/14
@@ -1,16 +1,16 @@
-Tdentry 12
+Tdentry 14
 qid.version 0
-qid.path 12
+qid.path 14
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666333071921983052
+pdblkno 13
+pqpath 13
+mtime 1668268945313180954
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 23
+	0 15
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.1
+name inuse
--- a/tests/test.6/blocks/15
+++ b/tests/test.6/blocks/15
@@ -1,52 +1,7 @@
-Tdentry 13
-qid.version 0
-qid.path 13
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666333071921985035
-mode 444
-uid -1
-gid -1
-muid -1
-direct blocks
-	0 22
-	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
-	5 0
-name root.1
+Tdata 14
+-1:adm:adm:glenda
+0:none:adm:
+9999:noworld::
+10000:sys::
+10001:upas:upas:
+10006:glenda:glenda:
--- a/tests/test.6/blocks/16
+++ b/tests/test.6/blocks/16
@@ -1,16 +1,16 @@
-Tdentry 14
+Tdentry 16
 qid.version 0
-qid.path 14
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666333071921962196
+qid.path 16
+size 9
+pdblkno 3
+pqpath 3
+mtime 1668268948456247455
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 0
+	0 26
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name ctl
+name frees
--- a/tests/test.6/blocks/17
+++ b/tests/test.6/blocks/17
@@ -1,16 +1,16 @@
-Tdentry 15
+Tdentry 17
 qid.version 0
-qid.path 15
-size 17
-pdblkno 4
-pqpath 5
-mtime 1666333075061395120
+qid.path 17
+size 0
+pdblkno 3
+pqpath 3
+mtime 1668268945313149033
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 21
+	0 0
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name frees
+name ctl
--- a/tests/test.6/blocks/18
+++ b/tests/test.6/blocks/18
@@ -1,16 +1,16 @@
-Tdentry 64
+Tdentry 18
 qid.version 0
-qid.path 64
-size 0
-pdblkno 3
-pqpath 63
-mtime 1666333073055508391
-mode 20000000777
-uid 10006
+qid.path 18
+size 503
+pdblkno 13
+pqpath 13
+mtime 1668268945313185390
+mode 444
+uid -1
 gid -1
-muid 10006
+muid -1
 direct blocks
-	0 19
+	0 0
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name dir1
+name staging
--- a/tests/test.6/blocks/19
+++ b/tests/test.6/blocks/19
@@ -1,17 +1,17 @@
-Tdentry 65
+Tdentry 19
 qid.version 0
-qid.path 65
-size 5
-pdblkno 18
-pqpath 64
-mtime 1666333073057214101
-mode 666
-uid 10006
+qid.path 19
+size 0
+pdblkno 0
+pqpath 0
+mtime 1668268945313189663
+mode 20000000777
+uid -1
 gid -1
-muid 10006
+muid -1
 direct blocks
-	0 20
-	1 0
+	0 3
+	1 20
 	2 0
 	3 0
 	4 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name file1
+name /
--- a/tests/test.6/blocks/2
+++ b/tests/test.6/blocks/2
@@ -1,4 +1,4 @@
-Tdata 3
+Tdata 5
 start 0
 tfree 0
 qidgen 66
--- a/tests/test.6/blocks/20
+++ b/tests/test.6/blocks/20
@@ -1,2 +1,52 @@
-Tdata 65
-test
+Tdentry 64
+qid.version 0
+qid.path 64
+size 0
+pdblkno 19
+pqpath 19
+mtime 1668268946449983405
+mode 20000000777
+uid 10006
+gid -1
+muid 10006
+direct blocks
+	0 21
+	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
+	5 0
+name dir1
--- a/tests/test.6/blocks/21
+++ b/tests/test.6/blocks/21
@@ -1,3 +1,52 @@
-Tdata 15
-21 21 1
-25 28 4
+Tdentry 65
+qid.version 0
+qid.path 65
+size 5
+pdblkno 20
+pqpath 64
+mtime 1668268946451984515
+mode 666
+uid 10006
+gid -1
+muid 10006
+direct blocks
+	0 22
+	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
+	5 0
+name file1
--- a/tests/test.6/blocks/22
+++ b/tests/test.6/blocks/22
@@ -1,1 +1,2 @@
-Tdata 13
+Tdata 65
+test
--- a/tests/test.6/blocks/23
+++ b/tests/test.6/blocks/23
@@ -1,6 +1,1 @@
 Tdata 12
-start 0
-tfree 0
-qidgen 66
-frees 0
-fsok 1
--- a/tests/test.6/blocks/24
+++ b/tests/test.6/blocks/24
@@ -1,7 +1,6 @@
 Tdata 11
-size 16384
-nblocks 32
-backup config 1 to 31 24
-backup super 2 to 30 23
-backup root 3 to 29 22
-service test.6
+start 0
+tfree 0
+qidgen 66
+frees 0
+fsok 1
--- a/tests/test.6/blocks/25
+++ b/tests/test.6/blocks/25
@@ -1,1 +1,7 @@
-Tblank 0
+Tdata 10
+size 16384
+nblocks 32
+backup config 1 to 31 25
+backup super 2 to 30 24
+backup root 19 to 29 23
+service test.6
--- a/tests/test.6/blocks/26
+++ b/tests/test.6/blocks/26
@@ -1,1 +1,2 @@
-Tblank 0
+Tdata 16
+26 28 3
--- a/tests/test.6/blocks/29
+++ b/tests/test.6/blocks/29
@@ -1,1 +1,1 @@
-Tdata 10
+Tdata 9
--- a/tests/test.6/blocks/3
+++ b/tests/test.6/blocks/3
@@ -1,10 +1,10 @@
-Tdentry 63
+Tdentry 3
 qid.version 0
-qid.path 63
+qid.path 3
 size 0
-pdblkno 0
-pqpath 0
-mtime 1666333071921990810
+pdblkno 19
+pqpath 19
+mtime 1668268945313112672
 mode 20000000777
 uid -1
 gid -1
@@ -11,11 +11,11 @@
 muid -1
 direct blocks
 	0 4
-	1 18
-	2 0
-	3 0
-	4 0
-	5 0
+	1 5
+	2 6
+	3 13
+	4 16
+	5 17
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name /
+name adm
--- a/tests/test.6/blocks/30
+++ b/tests/test.6/blocks/30
@@ -1,4 +1,4 @@
-Tdata 9
+Tdata 8
 start 0
 tfree 0
 qidgen 66
--- a/tests/test.6/blocks/31
+++ b/tests/test.6/blocks/31
@@ -1,7 +1,7 @@
-Tdata 8
+Tdata 7
 size 16384
 nblocks 32
-backup config 1 to 31 24
-backup super 2 to 30 23
-backup root 3 to 29 22
+backup config 1 to 31 25
+backup super 2 to 30 24
+backup root 19 to 29 23
 service test.6
--- a/tests/test.6/blocks/4
+++ b/tests/test.6/blocks/4
@@ -1,21 +1,21 @@
-Tdentry 5
+Tdentry 4
 qid.version 0
-qid.path 5
+qid.path 4
 size 0
 pdblkno 3
-pqpath 63
-mtime 1666333071921947842
-mode 20000000777
+pqpath 3
+mtime 1668268945313146589
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 9
-	1 5
-	2 16
-	3 6
-	4 7
-	5 17
+	0 1
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name adm
+name config
--- a/tests/test.6/blocks/5
+++ b/tests/test.6/blocks/5
@@ -1,16 +1,16 @@
-Tdentry 2
+Tdentry 5
 qid.version 0
-qid.path 2
+qid.path 5
 size 0
-pdblkno 4
-pqpath 5
-mtime 1666333071921957575
+pdblkno 3
+pqpath 3
+mtime 1668268945313151280
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 1
+	0 2
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config
+name super
--- a/tests/test.6/blocks/6
+++ b/tests/test.6/blocks/6
@@ -1,21 +1,21 @@
-Tdentry 3
+Tdentry 6
 qid.version 0
-qid.path 3
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666333071921963905
-mode 444
+qid.path 6
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668268945313136086
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 2
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
+	0 7
+	1 8
+	2 9
+	3 10
+	4 11
+	5 12
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super
+name bkp
--- a/tests/test.6/blocks/7
+++ b/tests/test.6/blocks/7
@@ -1,16 +1,16 @@
-Tdentry 6
+Tdentry 7
 qid.version 0
-qid.path 6
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666333071921965758
+qid.path 7
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668268945313158088
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 8
+	0 31
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name users
+name config.0
--- a/tests/test.6/blocks/8
+++ b/tests/test.6/blocks/8
@@ -1,9 +1,52 @@
-Tdata 6
--1:adm:adm:
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10002:bootes:bootes:
-10006:glenda:glenda:
-10007:manies::
+Tdentry 8
+qid.version 0
+qid.path 8
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668268945313160174
+mode 444
+uid -1
+gid -1
+muid -1
+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
+	5 0
+name super.0
--- a/tests/test.6/blocks/9
+++ b/tests/test.6/blocks/9
@@ -1,21 +1,21 @@
-Tdentry 7
+Tdentry 9
 qid.version 0
-qid.path 7
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666333071921955379
-mode 20000000777
+qid.path 9
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668268945313162474
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 10
-	1 11
-	2 12
-	3 13
-	4 14
-	5 15
+	0 29
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name bkp
+name root.0
--- a/tests/test.8/blocks/1
+++ b/tests/test.8/blocks/1
@@ -1,7 +1,7 @@
-Tdata 2
-size 13312
-nblocks 26
-backup config 1 to 25 21
-backup super 2 to 24 20
-backup root 3 to 23 19
+Tdata 4
+size 14336
+nblocks 28
+backup config 1 to 27 23
+backup super 2 to 26 22
+backup root 19 to 25 21
 service test.8
--- a/tests/test.8/blocks/10
+++ b/tests/test.8/blocks/10
@@ -1,16 +1,16 @@
-Tdentry 8
+Tdentry 10
 qid.version 0
-qid.path 8
+qid.path 10
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666333567328049920
+pdblkno 6
+pqpath 6
+mtime 1668274333688092833
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 25
+	0 23
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.0
+name config.1
--- a/tests/test.8/blocks/11
+++ b/tests/test.8/blocks/11
@@ -1,16 +1,16 @@
-Tdentry 9
+Tdentry 11
 qid.version 0
-qid.path 9
+qid.path 11
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666333567328054661
+pdblkno 6
+pqpath 6
+mtime 1668274333688095360
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 24
+	0 22
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.0
+name super.1
--- a/tests/test.8/blocks/12
+++ b/tests/test.8/blocks/12
@@ -1,16 +1,16 @@
-Tdentry 10
+Tdentry 12
 qid.version 0
-qid.path 10
+qid.path 12
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666333567328056600
+pdblkno 6
+pqpath 6
+mtime 1668274333688097668
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 23
+	0 21
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name root.0
+name root.1
--- a/tests/test.8/blocks/13
+++ b/tests/test.8/blocks/13
@@ -1,17 +1,17 @@
-Tdentry 11
+Tdentry 13
 qid.version 0
-qid.path 11
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666333567328061403
-mode 444
+qid.path 13
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668274333688064710
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 21
-	1 0
+	0 14
+	1 18
 	2 0
 	3 0
 	4 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.1
+name users
--- a/tests/test.8/blocks/14
+++ b/tests/test.8/blocks/14
@@ -1,16 +1,16 @@
-Tdentry 12
+Tdentry 14
 qid.version 0
-qid.path 12
+qid.path 14
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666333567328063282
+pdblkno 13
+pqpath 13
+mtime 1668274333688099836
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 20
+	0 15
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.1
+name inuse
--- a/tests/test.8/blocks/15
+++ b/tests/test.8/blocks/15
@@ -1,52 +1,7 @@
-Tdentry 13
-qid.version 0
-qid.path 13
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666333567328064911
-mode 444
-uid -1
-gid -1
-muid -1
-direct blocks
-	0 19
-	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
-	5 0
-name root.1
+Tdata 14
+-1:adm:adm:glenda
+0:none:adm:
+9999:noworld::
+10000:sys::
+10001:upas:upas:
+10006:glenda:glenda:
--- a/tests/test.8/blocks/16
+++ b/tests/test.8/blocks/16
@@ -1,16 +1,16 @@
-Tdentry 14
+Tdentry 16
 qid.version 0
-qid.path 14
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666333567328040143
+qid.path 16
+size 17
+pdblkno 3
+pqpath 3
+mtime 1668274335812543713
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 0
+	0 20
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name ctl
+name frees
--- a/tests/test.8/blocks/17
+++ b/tests/test.8/blocks/17
@@ -1,16 +1,16 @@
-Tdentry 15
+Tdentry 17
 qid.version 0
-qid.path 15
-size 17
-pdblkno 4
-pqpath 5
-mtime 1666333569449739119
+qid.path 17
+size 0
+pdblkno 3
+pqpath 3
+mtime 1668274333688069640
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 18
+	0 0
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name frees
+name ctl
--- a/tests/test.8/blocks/2
+++ b/tests/test.8/blocks/2
@@ -1,4 +1,4 @@
-Tdata 3
+Tdata 5
 start 0
 tfree 0
 qidgen 64
--- a/tests/test.8/blocks/21
+++ b/tests/test.8/blocks/21
@@ -1,7 +1,1 @@
-Tdata 11
-size 13312
-nblocks 26
-backup config 1 to 25 21
-backup super 2 to 24 20
-backup root 3 to 23 19
-service test.8
+Tdata 12
--- a/tests/test.8/blocks/22
+++ b/tests/test.8/blocks/22
@@ -1,1 +1,6 @@
-Tblank 0
+Tdata 11
+start 0
+tfree 0
+qidgen 64
+frees 0
+fsok 1
--- a/tests/test.8/blocks/23
+++ b/tests/test.8/blocks/23
@@ -1,1 +1,7 @@
 Tdata 10
+size 14336
+nblocks 28
+backup config 1 to 27 23
+backup super 2 to 26 22
+backup root 19 to 25 21
+service test.8
--- a/tests/test.8/blocks/24
+++ b/tests/test.8/blocks/24
@@ -1,6 +1,1 @@
-Tdata 9
-start 0
-tfree 0
-qidgen 64
-frees 0
-fsok 1
+Tblank 0
--- a/tests/test.8/blocks/25
+++ b/tests/test.8/blocks/25
@@ -1,7 +1,1 @@
-Tdata 8
-size 13312
-nblocks 26
-backup config 1 to 25 21
-backup super 2 to 24 20
-backup root 3 to 23 19
-service test.8
+Tdata 9
--- a/tests/test.8/blocks/3
+++ b/tests/test.8/blocks/3
@@ -1,10 +1,10 @@
-Tdentry 63
+Tdentry 3
 qid.version 0
-qid.path 63
+qid.path 3
 size 0
-pdblkno 0
-pqpath 0
-mtime 1666333567328070657
+pdblkno 19
+pqpath 19
+mtime 1668274333688049524
 mode 20000000777
 uid -1
 gid -1
@@ -11,11 +11,11 @@
 muid -1
 direct blocks
 	0 4
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
+	1 5
+	2 6
+	3 13
+	4 16
+	5 17
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name /
+name adm
--- a/tests/test.8/blocks/4
+++ b/tests/test.8/blocks/4
@@ -1,21 +1,21 @@
-Tdentry 5
+Tdentry 4
 qid.version 0
-qid.path 5
+qid.path 4
 size 0
 pdblkno 3
-pqpath 63
-mtime 1666333567328025870
-mode 20000000777
+pqpath 3
+mtime 1668274333688067439
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 9
-	1 5
-	2 16
-	3 6
-	4 7
-	5 17
+	0 1
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name adm
+name config
--- a/tests/test.8/blocks/5
+++ b/tests/test.8/blocks/5
@@ -1,16 +1,16 @@
-Tdentry 2
+Tdentry 5
 qid.version 0
-qid.path 2
+qid.path 5
 size 0
-pdblkno 4
-pqpath 5
-mtime 1666333567328035539
+pdblkno 3
+pqpath 3
+mtime 1668274333688071645
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 1
+	0 2
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config
+name super
--- a/tests/test.8/blocks/6
+++ b/tests/test.8/blocks/6
@@ -1,21 +1,21 @@
-Tdentry 3
+Tdentry 6
 qid.version 0
-qid.path 3
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666333567328041839
-mode 444
+qid.path 6
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668274333688057653
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 2
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
+	0 7
+	1 8
+	2 9
+	3 10
+	4 11
+	5 12
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super
+name bkp
--- a/tests/test.8/blocks/7
+++ b/tests/test.8/blocks/7
@@ -1,16 +1,16 @@
-Tdentry 6
+Tdentry 7
 qid.version 0
-qid.path 6
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666333567328043568
+qid.path 7
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668274333688078187
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 8
+	0 27
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name users
+name config.0
--- a/tests/test.8/blocks/8
+++ b/tests/test.8/blocks/8
@@ -1,9 +1,52 @@
-Tdata 6
--1:adm:adm:
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10002:bootes:bootes:
-10006:glenda:glenda:
-10007:manies::
+Tdentry 8
+qid.version 0
+qid.path 8
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668274333688080235
+mode 444
+uid -1
+gid -1
+muid -1
+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
+	5 0
+name super.0
--- a/tests/test.8/blocks/9
+++ b/tests/test.8/blocks/9
@@ -1,21 +1,21 @@
-Tdentry 7
+Tdentry 9
 qid.version 0
-qid.path 7
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666333567328033295
-mode 20000000777
+qid.path 9
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668274333688082212
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 10
-	1 11
-	2 12
-	3 13
-	4 14
-	5 15
+	0 25
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name bkp
+name root.0
--- a/tests/test.8/notes
+++ b/tests/test.8/notes
@@ -5,25 +5,27 @@
 0		- magic
 1		- config
 2		- super block
-3		- / direntry
-4		- /adm/ dir entry
-5		- /adm/config dir entry
-6		- /adm/super dir entry
-7		- /adm/users dir entry
-8		- /adm/users contents
-9		- /adm/bkp/ dir entry
-10	- /adm/bkp/config.0 dir entry
-11	- /adm/bkp/super.0 dir entry
-12	- /adm/bkp/root.0 dir entry
-13	- /adm/bkp/config.1 dir entry
-14	- /adm/bkp/super.1 dir entry
-15	- /adm/bkp/root.1 dir entry
-16	- /adm/ctl dir entry -- virtual file, empty contents
-17	- /adm/frees dir entry
+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
+18		- /adm/users/staging dir entry
+19		- / direntry
 
-19	- / direntry
-20	- super block
-21	- config
+20	- / direntry
+21	- super block
+22	- config
 
 23	- / direntry
 24	- super block
--- a/tests/test.8/params
+++ b/tests/test.8/params
@@ -1,1 +1,1 @@
-nblocks=26
+nblocks=28
--- a/tests/test.9/blocks/1
+++ b/tests/test.9/blocks/1
@@ -1,7 +1,7 @@
-Tdata 2
+Tdata 4
 size 67108864
 nblocks 131072
-backup config 1 to 131071 65544
-backup super 2 to 131070 65543
-backup root 3 to 131069 65542
+backup config 1 to 131071 65545
+backup super 2 to 131070 65544
+backup root 19 to 131069 65543
 service test.9
--- a/tests/test.9/blocks/10
+++ b/tests/test.9/blocks/10
@@ -1,16 +1,16 @@
-Tdentry 8
+Tdentry 10
 qid.version 0
-qid.path 8
+qid.path 10
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666333673570015211
+pdblkno 6
+pqpath 6
+mtime 1668272238680072187
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 131071
+	0 65545
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.0
+name config.1
--- a/tests/test.9/blocks/11
+++ b/tests/test.9/blocks/11
@@ -1,16 +1,16 @@
-Tdentry 9
+Tdentry 11
 qid.version 0
-qid.path 9
+qid.path 11
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666333673570020286
+pdblkno 6
+pqpath 6
+mtime 1668272238680086630
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 131070
+	0 65544
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.0
+name super.1
--- a/tests/test.9/blocks/12
+++ b/tests/test.9/blocks/12
@@ -1,16 +1,16 @@
-Tdentry 10
+Tdentry 12
 qid.version 0
-qid.path 10
+qid.path 12
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666333673570022487
+pdblkno 6
+pqpath 6
+mtime 1668272238680089218
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 131069
+	0 65543
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name root.0
+name root.1
--- a/tests/test.9/blocks/13
+++ b/tests/test.9/blocks/13
@@ -1,17 +1,17 @@
-Tdentry 11
+Tdentry 13
 qid.version 0
-qid.path 11
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666333673570027272
-mode 444
+qid.path 13
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668272238680052584
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 65544
-	1 0
+	0 14
+	1 18
 	2 0
 	3 0
 	4 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.1
+name users
--- a/tests/test.9/blocks/14
+++ b/tests/test.9/blocks/14
@@ -1,16 +1,16 @@
-Tdentry 12
+Tdentry 14
 qid.version 0
-qid.path 12
+qid.path 14
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666333673570029174
+pdblkno 13
+pqpath 13
+mtime 1668272238680091484
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 65543
+	0 15
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.1
+name inuse
--- a/tests/test.9/blocks/15
+++ b/tests/test.9/blocks/15
@@ -1,52 +1,7 @@
-Tdentry 13
-qid.version 0
-qid.path 13
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666333673570030766
-mode 444
-uid -1
-gid -1
-muid -1
-direct blocks
-	0 65542
-	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
-	5 0
-name root.1
+Tdata 14
+-1:adm:adm:glenda
+0:none:adm:
+9999:noworld::
+10000:sys::
+10001:upas:upas:
+10006:glenda:glenda:
--- a/tests/test.9/blocks/16
+++ b/tests/test.9/blocks/16
@@ -1,16 +1,16 @@
-Tdentry 14
+Tdentry 16
 qid.version 0
-qid.path 14
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666333673570003927
+qid.path 16
+size 37
+pdblkno 3
+pqpath 3
+mtime 1668272294557341178
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 0
+	0 57162
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name ctl
+name frees
--- a/tests/test.9/blocks/18
+++ b/tests/test.9/blocks/18
@@ -1,16 +1,16 @@
-Tdentry 64
+Tdentry 18
 qid.version 0
-qid.path 64
-size 0
-pdblkno 3
-pqpath 63
-mtime 1666333674704421454
-mode 20000000777
-uid 10006
+qid.path 18
+size 503
+pdblkno 13
+pqpath 13
+mtime 1668272238680093660
+mode 444
+uid -1
 gid -1
-muid 10006
+muid -1
 direct blocks
-	0 19
+	0 0
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name dir1
+name staging
--- a/tests/test.9/blocks/19
+++ b/tests/test.9/blocks/19
@@ -1,20 +1,20 @@
-Tdentry 65
+Tdentry 19
 qid.version 0
-qid.path 65
-size 5
-pdblkno 18
-pqpath 64
-mtime 1666333674706180994
-mode 666
-uid 10006
+qid.path 19
+size 0
+pdblkno 0
+pqpath 0
+mtime 1668272238680100102
+mode 20000000777
+uid -1
 gid -1
-muid 10006
+muid -1
 direct blocks
-	0 20
-	1 0
-	2 0
-	3 0
-	4 0
+	0 3
+	1 20
+	2 23
+	3 28
+	4 4187
 	5 0
 	6 0
 	7 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name file1
+name /
--- a/tests/test.9/blocks/2
+++ b/tests/test.9/blocks/2
@@ -1,4 +1,4 @@
-Tdata 3
+Tdata 5
 start 0
 tfree 0
 qidgen 73
--- a/tests/test.9/blocks/20
+++ b/tests/test.9/blocks/20
@@ -1,2 +1,52 @@
-Tdata 65
-test
+Tdentry 64
+qid.version 0
+qid.path 64
+size 0
+pdblkno 19
+pqpath 19
+mtime 1668272239817566223
+mode 20000000777
+uid 10006
+gid -1
+muid 10006
+direct blocks
+	0 21
+	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
+	5 0
+name dir1
--- a/tests/test.9/blocks/21
+++ b/tests/test.9/blocks/21
@@ -1,17 +1,17 @@
-Tdentry 66
+Tdentry 65
 qid.version 0
-qid.path 66
-size 0
-pdblkno 3
-pqpath 63
-mtime 1666333674706993323
-mode 20000000777
+qid.path 65
+size 5
+pdblkno 20
+pqpath 64
+mtime 1668272239819619641
+mode 666
 uid 10006
 gid -1
 muid 10006
 direct blocks
 	0 22
-	1 24
+	1 0
 	2 0
 	3 0
 	4 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name dir2
+name file1
--- a/tests/test.9/blocks/22
+++ b/tests/test.9/blocks/22
@@ -1,52 +1,2 @@
-Tdentry 67
-qid.version 0
-qid.path 67
-size 5
-pdblkno 21
-pqpath 66
-mtime 1666333674708733739
-mode 666
-uid 10006
-gid -1
-muid 10006
-direct blocks
-	0 23
-	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
-	5 0
-name file1
+Tdata 65
+test
--- a/tests/test.9/blocks/23
+++ b/tests/test.9/blocks/23
@@ -1,2 +1,52 @@
-Tdata 67
-test
+Tdentry 66
+qid.version 0
+qid.path 66
+size 0
+pdblkno 19
+pqpath 19
+mtime 1668272239820394703
+mode 20000000777
+uid 10006
+gid -1
+muid 10006
+direct blocks
+	0 24
+	1 26
+	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
+	5 0
+name dir2
--- a/tests/test.9/blocks/24
+++ b/tests/test.9/blocks/24
@@ -1,10 +1,10 @@
-Tdentry 68
+Tdentry 67
 qid.version 0
-qid.path 68
+qid.path 67
 size 5
-pdblkno 21
+pdblkno 23
 pqpath 66
-mtime 1666333674710433311
+mtime 1668272239822238176
 mode 666
 uid 10006
 gid -1
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name file2
+name file1
--- a/tests/test.9/blocks/25
+++ b/tests/test.9/blocks/25
@@ -1,2 +1,2 @@
-Tdata 68
+Tdata 67
 test
--- a/tests/test.9/blocks/26
+++ b/tests/test.9/blocks/26
@@ -1,11 +1,11 @@
-Tdentry 69
+Tdentry 68
 qid.version 0
-qid.path 69
-size 0
-pdblkno 3
-pqpath 63
-mtime 1666333674711196162
-mode 20000000777
+qid.path 68
+size 5
+pdblkno 23
+pqpath 66
+mtime 1668272239824203726
+mode 666
 uid 10006
 gid -1
 muid 10006
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name dir3
+name file2
--- a/tests/test.9/blocks/4
+++ b/tests/test.9/blocks/4
@@ -1,21 +1,21 @@
-Tdentry 5
+Tdentry 4
 qid.version 0
-qid.path 5
+qid.path 4
 size 0
 pdblkno 3
-pqpath 63
-mtime 1666333673569989325
-mode 20000000777
+pqpath 3
+mtime 1668272238680055378
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 9
-	1 5
-	2 16
-	3 6
-	4 7
-	5 17
+	0 1
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name adm
+name config
--- a/tests/test.9/blocks/5
+++ b/tests/test.9/blocks/5
@@ -1,16 +1,16 @@
-Tdentry 2
+Tdentry 5
 qid.version 0
-qid.path 2
+qid.path 5
 size 0
-pdblkno 4
-pqpath 5
-mtime 1666333673569998952
+pdblkno 3
+pqpath 3
+mtime 1668272238680059237
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 1
+	0 2
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config
+name super
--- a/tests/test.9/blocks/6
+++ b/tests/test.9/blocks/6
@@ -1,21 +1,21 @@
-Tdentry 3
+Tdentry 6
 qid.version 0
-qid.path 3
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666333673570005850
-mode 444
+qid.path 6
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668272238680045777
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 2
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
+	0 7
+	1 8
+	2 9
+	3 10
+	4 11
+	5 12
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super
+name bkp
--- a/tests/test.9/blocks/7
+++ b/tests/test.9/blocks/7
@@ -1,16 +1,16 @@
-Tdentry 6
+Tdentry 7
 qid.version 0
-qid.path 6
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666333673570007807
+qid.path 7
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668272238680065881
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 8
+	0 131071
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name users
+name config.0
--- a/tests/test.9/blocks/8
+++ b/tests/test.9/blocks/8
@@ -1,9 +1,52 @@
-Tdata 6
--1:adm:adm:
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10002:bootes:bootes:
-10006:glenda:glenda:
-10007:manies::
+Tdentry 8
+qid.version 0
+qid.path 8
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668272238680068050
+mode 444
+uid -1
+gid -1
+muid -1
+direct blocks
+	0 131070
+	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
+	5 0
+name super.0
--- a/tests/test.9/blocks/9
+++ b/tests/test.9/blocks/9
@@ -1,21 +1,21 @@
-Tdentry 7
+Tdentry 9
 qid.version 0
-qid.path 7
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666333673569996436
-mode 20000000777
+qid.path 9
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668272238680070153
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 10
-	1 11
-	2 12
-	3 13
-	4 14
-	5 15
+	0 131069
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name bkp
+name root.0
--- a/tests/test.9/notes
+++ b/tests/test.9/notes
@@ -4,36 +4,33 @@
 0		- magic
 1		- config
 2		- super block
-3		- / direntry
-4		- /adm/ dir entry
-5		- /adm/config dir entry
-6		- /adm/super dir entry
-7		- /adm/users dir entry
-8		- /adm/users contents
-9		- /adm/bkp/ dir entry
-10	- /adm/bkp/config.0 dir entry
-11	- /adm/bkp/super.0 dir entry
-12	- /adm/bkp/root.0 dir entry
-13	- /adm/bkp/config.1 dir entry
-14	- /adm/bkp/super.1 dir entry
-15	- /adm/bkp/root.1 dir entry
-16	- /adm/ctl dir entry -- virtual file, empty contents
-17	- /adm/frees dir entry
+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
+18		- /adm/users/staging dir entry
+19		- / direntry
 
-18	- /dir1 directory entry
-19	- /dir1/file1 directory entry
-20	- /dir1/file1 contents
-21	- /adm/frees contents
+20	- /dir1 directory entry
+21	- /dir1/file1 directory entry
+22	- /dir1/file1 contents
+57162	- /adm/frees contents
 
-22	- / direntry
-23	- super block
-24	- config
+65543	- / direntry
+65544	- super block
+65545	- config
 
-25
-26
-27
-28
-
-29	- / direntry
-30	- super block
-31	- config
+131069	- / direntry
+131070	- super block
+131071	- config
--- a/tests/test.a/notes
+++ b/tests/test.a/notes
@@ -3,36 +3,3 @@
 for (b in `{seq 22 1 53}) { echo $b; disk/block -f disk $b }
 
 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		- / direntry
-4		- /adm/ dir entry
-5		- /adm/config dir entry
-6		- /adm/super dir entry
-7		- /adm/users dir entry
-8		- /adm/users contents
-9		- /adm/bkp/ dir entry
-10	- /adm/bkp/config.0 dir entry
-11	- /adm/bkp/super.0 dir entry
-12	- /adm/bkp/root.0 dir entry
-13	- /adm/bkp/config.1 dir entry
-14	- /adm/bkp/super.1 dir entry
-15	- /adm/bkp/root.1 dir entry
-16	- /adm/ctl dir entry -- virtual file, empty contents
-17	- /adm/frees dir entry
-
-18	- big file blank dentry as the big file was deleted but / still holds onto the dentry
-19	- /adm/frees contents
-20
-21
-
-20486	- / direntry
-20487	- super block
-20488	- config
-
-40957	- / direntry
-40958	- super block
-40959	- config
--- a/tests/test.b/blocks/1
+++ b/tests/test.b/blocks/1
@@ -1,7 +1,7 @@
-Tdata 2
+Tdata 4
 size 16384
 nblocks 32
-backup config 1 to 31 24
-backup super 2 to 30 23
-backup root 3 to 29 22
+backup config 1 to 31 25
+backup super 2 to 30 24
+backup root 19 to 29 23
 service test.b
--- a/tests/test.b/blocks/10
+++ b/tests/test.b/blocks/10
@@ -1,16 +1,16 @@
-Tdentry 8
+Tdentry 10
 qid.version 0
-qid.path 8
+qid.path 10
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666359855817803137
+pdblkno 6
+pqpath 6
+mtime 1668273250516788879
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 31
+	0 25
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.0
+name config.1
--- a/tests/test.b/blocks/11
+++ b/tests/test.b/blocks/11
@@ -1,16 +1,16 @@
-Tdentry 9
+Tdentry 11
 qid.version 0
-qid.path 9
+qid.path 11
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666359855817807985
+pdblkno 6
+pqpath 6
+mtime 1668273250516792051
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 30
+	0 24
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.0
+name super.1
--- a/tests/test.b/blocks/12
+++ b/tests/test.b/blocks/12
@@ -1,16 +1,16 @@
-Tdentry 10
+Tdentry 12
 qid.version 0
-qid.path 10
+qid.path 12
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666359855817810192
+pdblkno 6
+pqpath 6
+mtime 1668273250516794651
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 29
+	0 23
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name root.0
+name root.1
--- a/tests/test.b/blocks/13
+++ b/tests/test.b/blocks/13
@@ -1,17 +1,17 @@
-Tdentry 11
+Tdentry 13
 qid.version 0
-qid.path 11
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666359855817814624
-mode 444
+qid.path 13
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668273250516758385
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 24
-	1 0
+	0 14
+	1 18
 	2 0
 	3 0
 	4 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.1
+name users
--- a/tests/test.b/blocks/14
+++ b/tests/test.b/blocks/14
@@ -1,16 +1,16 @@
-Tdentry 12
+Tdentry 14
 qid.version 0
-qid.path 12
+qid.path 14
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666359855817816538
+pdblkno 13
+pqpath 13
+mtime 1668273250516796997
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 23
+	0 15
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.1
+name inuse
--- a/tests/test.b/blocks/15
+++ b/tests/test.b/blocks/15
@@ -1,52 +1,7 @@
-Tdentry 13
-qid.version 0
-qid.path 13
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666359855817818278
-mode 444
-uid -1
-gid -1
-muid -1
-direct blocks
-	0 22
-	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
-	5 0
-name root.1
+Tdata 14
+-1:adm:adm:glenda
+0:none:adm:
+9999:noworld::
+10000:sys::
+10001:upas:upas:
+10006:glenda:glenda:
--- a/tests/test.b/blocks/16
+++ b/tests/test.b/blocks/16
@@ -1,16 +1,16 @@
-Tdentry 14
+Tdentry 16
 qid.version 0
-qid.path 14
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666359855817792612
+qid.path 16
+size 9
+pdblkno 3
+pqpath 3
+mtime 1668273252660757249
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 0
+	0 26
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name ctl
+name frees
--- a/tests/test.b/blocks/17
+++ b/tests/test.b/blocks/17
@@ -1,16 +1,16 @@
-Tdentry 15
+Tdentry 17
 qid.version 0
-qid.path 15
-size 17
-pdblkno 4
-pqpath 5
-mtime 1666359857958456895
+qid.path 17
+size 0
+pdblkno 3
+pqpath 3
+mtime 1668273250516764572
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 21
+	0 0
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name frees
+name ctl
--- a/tests/test.b/blocks/18
+++ b/tests/test.b/blocks/18
@@ -1,16 +1,16 @@
-Tdentry 64
+Tdentry 18
 qid.version 0
-qid.path 64
-size 0
-pdblkno 3
-pqpath 63
-mtime 1666359856952636997
-mode 20000000777
-uid 10006
+qid.path 18
+size 503
+pdblkno 13
+pqpath 13
+mtime 1668273250516803405
+mode 444
+uid -1
 gid -1
-muid 10006
+muid -1
 direct blocks
-	0 19
+	0 0
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name dir1
+name staging
--- a/tests/test.b/blocks/19
+++ b/tests/test.b/blocks/19
@@ -1,17 +1,17 @@
-Tdentry 65
+Tdentry 19
 qid.version 0
-qid.path 65
-size 5
-pdblkno 18
-pqpath 64
-mtime 1666359856954554520
-mode 666
-uid 10006
+qid.path 19
+size 0
+pdblkno 0
+pqpath 0
+mtime 1668273250516807688
+mode 20000000777
+uid -1
 gid -1
-muid 10006
+muid -1
 direct blocks
-	0 20
-	1 0
+	0 3
+	1 20
 	2 0
 	3 0
 	4 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name file1
+name /
--- a/tests/test.b/blocks/2
+++ b/tests/test.b/blocks/2
@@ -1,4 +1,4 @@
-Tdata 3
+Tdata 5
 start 0
 tfree 0
 qidgen 66
--- a/tests/test.b/blocks/20
+++ b/tests/test.b/blocks/20
@@ -1,2 +1,52 @@
-Tdata 65
-test
+Tdentry 64
+qid.version 0
+qid.path 64
+size 0
+pdblkno 19
+pqpath 19
+mtime 1668273251654806247
+mode 20000000777
+uid 10006
+gid -1
+muid 10006
+direct blocks
+	0 21
+	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
+	5 0
+name dir1
--- a/tests/test.b/blocks/21
+++ b/tests/test.b/blocks/21
@@ -1,3 +1,52 @@
-Tdata 15
-21 21 1
-25 28 4
+Tdentry 65
+qid.version 0
+qid.path 65
+size 5
+pdblkno 20
+pqpath 64
+mtime 1668273251656938401
+mode 666
+uid 10006
+gid -1
+muid 10006
+direct blocks
+	0 22
+	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
+	5 0
+name file1
--- a/tests/test.b/blocks/22
+++ b/tests/test.b/blocks/22
@@ -1,1 +1,2 @@
-Tdata 13
+Tdata 65
+test
--- a/tests/test.b/blocks/23
+++ b/tests/test.b/blocks/23
@@ -1,6 +1,1 @@
 Tdata 12
-start 0
-tfree 0
-qidgen 66
-frees 0
-fsok 1
--- a/tests/test.b/blocks/24
+++ b/tests/test.b/blocks/24
@@ -1,7 +1,6 @@
 Tdata 11
-size 16384
-nblocks 32
-backup config 1 to 31 24
-backup super 2 to 30 23
-backup root 3 to 29 22
-service test.b
+start 0
+tfree 0
+qidgen 66
+frees 0
+fsok 1
--- a/tests/test.b/blocks/29
+++ b/tests/test.b/blocks/29
@@ -1,1 +1,1 @@
-Tdata 10
+Tdata 9
--- a/tests/test.b/blocks/3
+++ b/tests/test.b/blocks/3
@@ -1,10 +1,10 @@
-Tdentry 63
+Tdentry 3
 qid.version 0
-qid.path 63
+qid.path 3
 size 0
-pdblkno 0
-pqpath 0
-mtime 1666359855817824186
+pdblkno 19
+pqpath 19
+mtime 1668273250516740825
 mode 20000000777
 uid -1
 gid -1
@@ -11,11 +11,11 @@
 muid -1
 direct blocks
 	0 4
-	1 18
-	2 0
-	3 0
-	4 0
-	5 0
+	1 5
+	2 6
+	3 13
+	4 16
+	5 17
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name /
+name adm
--- a/tests/test.b/blocks/30
+++ b/tests/test.b/blocks/30
@@ -1,4 +1,4 @@
-Tdata 9
+Tdata 8
 start 0
 tfree 0
 qidgen 66
--- a/tests/test.b/blocks/31
+++ b/tests/test.b/blocks/31
@@ -1,7 +1,7 @@
-Tdata 8
+Tdata 7
 size 16384
 nblocks 32
-backup config 1 to 31 24
-backup super 2 to 30 23
-backup root 3 to 29 22
+backup config 1 to 31 25
+backup super 2 to 30 24
+backup root 19 to 29 23
 service test.b
--- a/tests/test.b/blocks/4
+++ b/tests/test.b/blocks/4
@@ -1,21 +1,21 @@
-Tdentry 5
+Tdentry 4
 qid.version 0
-qid.path 5
+qid.path 4
 size 0
 pdblkno 3
-pqpath 63
-mtime 1666359855817772556
-mode 20000000777
+pqpath 3
+mtime 1668273250516762142
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 9
-	1 5
-	2 16
-	3 6
-	4 7
-	5 17
+	0 1
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name adm
+name config
--- a/tests/test.b/blocks/5
+++ b/tests/test.b/blocks/5
@@ -1,16 +1,16 @@
-Tdentry 2
+Tdentry 5
 qid.version 0
-qid.path 2
+qid.path 5
 size 0
-pdblkno 4
-pqpath 5
-mtime 1666359855817787129
+pdblkno 3
+pqpath 3
+mtime 1668273250516766781
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 1
+	0 2
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config
+name super
--- a/tests/test.b/blocks/6
+++ b/tests/test.b/blocks/6
@@ -1,21 +1,21 @@
-Tdentry 3
+Tdentry 6
 qid.version 0
-qid.path 3
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666359855817794308
-mode 444
+qid.path 6
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668273250516751354
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 2
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
+	0 7
+	1 8
+	2 9
+	3 10
+	4 11
+	5 12
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super
+name bkp
--- a/tests/test.b/blocks/7
+++ b/tests/test.b/blocks/7
@@ -1,16 +1,16 @@
-Tdentry 6
+Tdentry 7
 qid.version 0
-qid.path 6
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666359855817796251
+qid.path 7
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668273250516773656
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 8
+	0 31
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name users
+name config.0
--- a/tests/test.b/blocks/8
+++ b/tests/test.b/blocks/8
@@ -1,9 +1,52 @@
-Tdata 6
--1:adm:adm:
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10002:bootes:bootes:
-10006:glenda:glenda:
-10007:manies::
+Tdentry 8
+qid.version 0
+qid.path 8
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668273250516775888
+mode 444
+uid -1
+gid -1
+muid -1
+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
+	5 0
+name super.0
--- a/tests/test.b/blocks/9
+++ b/tests/test.b/blocks/9
@@ -1,21 +1,21 @@
-Tdentry 7
+Tdentry 9
 qid.version 0
-qid.path 7
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666359855817784126
-mode 20000000777
+qid.path 9
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668273250516778133
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 10
-	1 11
-	2 12
-	3 13
-	4 14
-	5 15
+	0 29
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name bkp
+name root.0
--- a/tests/test.b/notes
+++ b/tests/test.b/notes
@@ -9,33 +9,33 @@
 0		- magic
 1		- config
 2		- super block
-3		- / direntry
-4		- /adm/ dir entry
-5		- /adm/config dir entry
-6		- /adm/super dir entry
-7		- /adm/users dir entry
-8		- /adm/users contents
-9		- /adm/bkp/ dir entry
-10	- /adm/bkp/config.0 dir entry
-11	- /adm/bkp/super.0 dir entry
-12	- /adm/bkp/root.0 dir entry
-13	- /adm/bkp/config.1 dir entry
-14	- /adm/bkp/super.1 dir entry
-15	- /adm/bkp/root.1 dir entry
-16	- /adm/ctl dir entry -- virtual file, empty contents
-17	- /adm/frees dir entry
+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
+18		- /adm/users/staging dir entry
+19		- / direntry
 
-18	- /dir1 directory entry
-19	- /dir1/file1 directory entry
-20	- /dir1/file1 contents
-21	- /adm/frees contents
+20	- /dir1 directory entry
+21	- /dir1/file1 directory entry
+22	- /dir1/file1 contents
 
-22	- / direntry
-23	- super block
-24	- config
+23	- / direntry
+24	- super block
+25	- config
 
-25
-26
+26	- /adm/frees contents
 27
 28
 
--- a/tests/test.d/action.rc
+++ b/tests/test.d/action.rc
@@ -2,6 +2,6 @@
 
 service=$1
 
-mkdir -p /n/^$service^/a/b/c/d/e/f/g
+mkdir -p /n/^$service^/a/b/c/d/e
 du -a /n/^$service^/
 cat /n/^$service^/adm/ctl
--- a/tests/test.d/blocks/1
+++ b/tests/test.d/blocks/1
@@ -1,7 +1,7 @@
-Tdata 2
+Tdata 4
 size 16384
 nblocks 32
-backup config 1 to 31 24
-backup super 2 to 30 23
-backup root 3 to 29 22
+backup config 1 to 31 25
+backup super 2 to 30 24
+backup root 19 to 29 23
 service test.d
--- a/tests/test.d/blocks/10
+++ b/tests/test.d/blocks/10
@@ -1,16 +1,16 @@
-Tdentry 8
+Tdentry 10
 qid.version 0
-qid.path 8
+qid.path 10
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666359865759946606
+pdblkno 6
+pqpath 6
+mtime 1668277139343607905
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 31
+	0 25
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.0
+name config.1
--- a/tests/test.d/blocks/11
+++ b/tests/test.d/blocks/11
@@ -1,16 +1,16 @@
-Tdentry 9
+Tdentry 11
 qid.version 0
-qid.path 9
+qid.path 11
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666359865759948486
+pdblkno 6
+pqpath 6
+mtime 1668277139343610655
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 30
+	0 24
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.0
+name super.1
--- a/tests/test.d/blocks/12
+++ b/tests/test.d/blocks/12
@@ -1,16 +1,16 @@
-Tdentry 10
+Tdentry 12
 qid.version 0
-qid.path 10
+qid.path 12
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666359865759953319
+pdblkno 6
+pqpath 6
+mtime 1668277139343613101
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 29
+	0 23
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name root.0
+name root.1
--- a/tests/test.d/blocks/13
+++ b/tests/test.d/blocks/13
@@ -1,17 +1,17 @@
-Tdentry 11
+Tdentry 13
 qid.version 0
-qid.path 11
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666359865759955235
-mode 444
+qid.path 13
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668277139343575845
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 24
-	1 0
+	0 14
+	1 18
 	2 0
 	3 0
 	4 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.1
+name users
--- a/tests/test.d/blocks/14
+++ b/tests/test.d/blocks/14
@@ -1,16 +1,16 @@
-Tdentry 12
+Tdentry 14
 qid.version 0
-qid.path 12
+qid.path 14
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666359865759956872
+pdblkno 13
+pqpath 13
+mtime 1668277139343644480
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 23
+	0 15
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.1
+name inuse
--- a/tests/test.d/blocks/15
+++ b/tests/test.d/blocks/15
@@ -1,52 +1,7 @@
-Tdentry 13
-qid.version 0
-qid.path 13
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666359865759962493
-mode 444
-uid -1
-gid -1
-muid -1
-direct blocks
-	0 22
-	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
-	5 0
-name root.1
+Tdata 14
+-1:adm:adm:glenda
+0:none:adm:
+9999:noworld::
+10000:sys::
+10001:upas:upas:
+10006:glenda:glenda:
--- a/tests/test.d/blocks/16
+++ b/tests/test.d/blocks/16
@@ -1,16 +1,16 @@
-Tdentry 14
+Tdentry 16
 qid.version 0
-qid.path 14
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666359865759931465
+qid.path 16
+size 9
+pdblkno 3
+pqpath 3
+mtime 1668277141503560639
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 0
+	0 28
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name ctl
+name frees
--- a/tests/test.d/blocks/17
+++ b/tests/test.d/blocks/17
@@ -1,16 +1,16 @@
-Tdentry 15
+Tdentry 17
 qid.version 0
-qid.path 15
-size 9
-pdblkno 4
-pqpath 5
-mtime 1666359868040073037
+qid.path 17
+size 0
+pdblkno 3
+pqpath 3
+mtime 1668277139343580932
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 28
+	0 0
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name frees
+name ctl
--- a/tests/test.d/blocks/18
+++ b/tests/test.d/blocks/18
@@ -1,16 +1,16 @@
-Tdentry 64
+Tdentry 18
 qid.version 0
-qid.path 64
-size 0
-pdblkno 3
-pqpath 63
-mtime 1666359866898311852
-mode 20000000777
-uid 10006
+qid.path 18
+size 503
+pdblkno 13
+pqpath 13
+mtime 1668277139343651859
+mode 444
+uid -1
 gid -1
-muid 10006
+muid -1
 direct blocks
-	0 19
+	0 0
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name a
+name staging
--- a/tests/test.d/blocks/19
+++ b/tests/test.d/blocks/19
@@ -1,17 +1,17 @@
-Tdentry 65
+Tdentry 19
 qid.version 0
-qid.path 65
+qid.path 19
 size 0
-pdblkno 18
-pqpath 64
-mtime 1666359866898658433
+pdblkno 0
+pqpath 0
+mtime 1668277139343656883
 mode 20000000777
-uid 10006
+uid -1
 gid -1
-muid 10006
+muid -1
 direct blocks
-	0 20
-	1 0
+	0 3
+	1 20
 	2 0
 	3 0
 	4 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name b
+name /
--- a/tests/test.d/blocks/2
+++ b/tests/test.d/blocks/2
@@ -1,6 +1,6 @@
-Tdata 3
+Tdata 5
 start 0
 tfree 0
-qidgen 71
+qidgen 69
 frees 0
 fsok 1
--- a/tests/test.d/blocks/20
+++ b/tests/test.d/blocks/20
@@ -1,10 +1,10 @@
-Tdentry 66
+Tdentry 64
 qid.version 0
-qid.path 66
+qid.path 64
 size 0
 pdblkno 19
-pqpath 65
-mtime 1666359866898986491
+pqpath 19
+mtime 1668277140479572173
 mode 20000000777
 uid 10006
 gid -1
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name c
+name a
--- a/tests/test.d/blocks/21
+++ b/tests/test.d/blocks/21
@@ -1,16 +1,16 @@
-Tdentry 67
+Tdentry 65
 qid.version 0
-qid.path 67
+qid.path 65
 size 0
 pdblkno 20
-pqpath 66
-mtime 1666359866899370728
+pqpath 64
+mtime 1668277140479932494
 mode 20000000777
 uid 10006
 gid -1
 muid 10006
 direct blocks
-	0 25
+	0 22
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name d
+name b
--- a/tests/test.d/blocks/22
+++ b/tests/test.d/blocks/22
@@ -1,1 +1,52 @@
-Tdata 13
+Tdentry 66
+qid.version 0
+qid.path 66
+size 0
+pdblkno 21
+pqpath 65
+mtime 1668277140480294103
+mode 20000000777
+uid 10006
+gid -1
+muid 10006
+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
+	5 0
+name c
--- a/tests/test.d/blocks/23
+++ b/tests/test.d/blocks/23
@@ -1,6 +1,1 @@
 Tdata 12
-start 0
-tfree 0
-qidgen 71
-frees 0
-fsok 1
--- a/tests/test.d/blocks/24
+++ b/tests/test.d/blocks/24
@@ -1,7 +1,6 @@
 Tdata 11
-size 16384
-nblocks 32
-backup config 1 to 31 24
-backup super 2 to 30 23
-backup root 3 to 29 22
-service test.d
+start 0
+tfree 0
+qidgen 69
+frees 0
+fsok 1
--- a/tests/test.d/blocks/29
+++ b/tests/test.d/blocks/29
@@ -1,1 +1,1 @@
-Tdata 10
+Tdata 9
--- a/tests/test.d/blocks/3
+++ b/tests/test.d/blocks/3
@@ -1,10 +1,10 @@
-Tdentry 63
+Tdentry 3
 qid.version 0
-qid.path 63
+qid.path 3
 size 0
-pdblkno 0
-pqpath 0
-mtime 1666359865759968192
+pdblkno 19
+pqpath 19
+mtime 1668277139343565043
 mode 20000000777
 uid -1
 gid -1
@@ -11,11 +11,11 @@
 muid -1
 direct blocks
 	0 4
-	1 18
-	2 0
-	3 0
-	4 0
-	5 0
+	1 5
+	2 6
+	3 13
+	4 16
+	5 17
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name /
+name adm
--- a/tests/test.d/blocks/30
+++ b/tests/test.d/blocks/30
@@ -1,6 +1,6 @@
-Tdata 9
+Tdata 8
 start 0
 tfree 0
-qidgen 71
+qidgen 69
 frees 0
 fsok 1
--- a/tests/test.d/blocks/31
+++ b/tests/test.d/blocks/31
@@ -1,7 +1,7 @@
-Tdata 8
+Tdata 7
 size 16384
 nblocks 32
-backup config 1 to 31 24
-backup super 2 to 30 23
-backup root 3 to 29 22
+backup config 1 to 31 25
+backup super 2 to 30 24
+backup root 19 to 29 23
 service test.d
--- a/tests/test.d/blocks/4
+++ b/tests/test.d/blocks/4
@@ -1,21 +1,21 @@
-Tdentry 5
+Tdentry 4
 qid.version 0
-qid.path 5
+qid.path 4
 size 0
 pdblkno 3
-pqpath 63
-mtime 1666359865759923176
-mode 20000000777
+pqpath 3
+mtime 1668277139343578657
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 9
-	1 5
-	2 16
-	3 6
-	4 7
-	5 17
+	0 1
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name adm
+name config
--- a/tests/test.d/blocks/5
+++ b/tests/test.d/blocks/5
@@ -1,16 +1,16 @@
-Tdentry 2
+Tdentry 5
 qid.version 0
-qid.path 2
+qid.path 5
 size 0
-pdblkno 4
-pqpath 5
-mtime 1666359865759929589
+pdblkno 3
+pqpath 3
+mtime 1668277139343583307
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 1
+	0 2
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config
+name super
--- a/tests/test.d/blocks/6
+++ b/tests/test.d/blocks/6
@@ -1,21 +1,21 @@
-Tdentry 3
+Tdentry 6
 qid.version 0
-qid.path 3
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666359865759933393
-mode 444
+qid.path 6
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668277139343569514
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 2
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
+	0 7
+	1 8
+	2 9
+	3 10
+	4 11
+	5 12
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super
+name bkp
--- a/tests/test.d/blocks/7
+++ b/tests/test.d/blocks/7
@@ -1,16 +1,16 @@
-Tdentry 6
+Tdentry 7
 qid.version 0
-qid.path 6
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666359865759939962
+qid.path 7
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668277139343590570
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 8
+	0 31
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name users
+name config.0
--- a/tests/test.d/blocks/8
+++ b/tests/test.d/blocks/8
@@ -1,9 +1,52 @@
-Tdata 6
--1:adm:adm:
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10002:bootes:bootes:
-10006:glenda:glenda:
-10007:manies::
+Tdentry 8
+qid.version 0
+qid.path 8
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668277139343592854
+mode 444
+uid -1
+gid -1
+muid -1
+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
+	5 0
+name super.0
--- a/tests/test.d/blocks/9
+++ b/tests/test.d/blocks/9
@@ -1,21 +1,21 @@
-Tdentry 7
+Tdentry 9
 qid.version 0
-qid.path 7
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666359865759927105
-mode 20000000777
+qid.path 9
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668277139343595266
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 10
-	1 11
-	2 12
-	3 13
-	4 14
-	5 15
+	0 29
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name bkp
+name root.0
--- a/tests/test.d/notes
+++ b/tests/test.d/notes
@@ -2,42 +2,4 @@
 
 Duplicate of test.2 but seeded with random data.
 
-test mkdir -p a/b/c/d/e/f/g/h
-
-block	- description
-0		- magic
-1		- config
-2		- super block
-3		- / direntry
-4		- /adm/ dir entry
-5		- /adm/config dir entry
-6		- /adm/super dir entry
-7		- /adm/users dir entry
-8		- /adm/users contents
-9		- /adm/bkp/ dir entry
-10	- /adm/bkp/config.0 dir entry
-11	- /adm/bkp/super.0 dir entry
-12	- /adm/bkp/root.0 dir entry
-13	- /adm/bkp/config.1 dir entry
-14	- /adm/bkp/super.1 dir entry
-15	- /adm/bkp/root.1 dir entry
-16	- /adm/ctl dir entry -- virtual file, empty contents
-17	- /adm/frees dir entry
-
-18	- /dir1 directory entry
-19	- /dir1/file1 directory entry
-20	- /dir1/file1 contents
-21	- /adm/frees contents
-
-22	- / direntry
-23	- super block
-24	- config
-
-25
-26
-27
-28
-
-29	- / direntry
-30	- super block
-31	- config
+test mkdir -p a/b/c/d/e
--- a/tests/test.e/blocks/1
+++ b/tests/test.e/blocks/1
@@ -1,7 +1,7 @@
-Tdata 2
+Tdata 4
 size 16384
 nblocks 32
-backup config 1 to 31 24
-backup super 2 to 30 23
-backup root 3 to 29 22
+backup config 1 to 31 25
+backup super 2 to 30 24
+backup root 19 to 29 23
 service test.e
--- a/tests/test.e/blocks/10
+++ b/tests/test.e/blocks/10
@@ -1,16 +1,16 @@
-Tdentry 8
+Tdentry 10
 qid.version 0
-qid.path 8
+qid.path 10
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666359865759946606
+pdblkno 6
+pqpath 6
+mtime 1668276591723293857
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 31
+	0 25
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.0
+name config.1
--- a/tests/test.e/blocks/11
+++ b/tests/test.e/blocks/11
@@ -1,16 +1,16 @@
-Tdentry 9
+Tdentry 11
 qid.version 0
-qid.path 9
+qid.path 11
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666359865759948486
+pdblkno 6
+pqpath 6
+mtime 1668276591723296938
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 30
+	0 24
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.0
+name super.1
--- a/tests/test.e/blocks/12
+++ b/tests/test.e/blocks/12
@@ -1,16 +1,16 @@
-Tdentry 10
+Tdentry 12
 qid.version 0
-qid.path 10
+qid.path 12
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666359865759953319
+pdblkno 6
+pqpath 6
+mtime 1668276591723299288
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 29
+	0 23
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name root.0
+name root.1
--- a/tests/test.e/blocks/13
+++ b/tests/test.e/blocks/13
@@ -1,17 +1,17 @@
-Tdentry 11
+Tdentry 13
 qid.version 0
-qid.path 11
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666359865759955235
-mode 444
+qid.path 13
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668276591723236204
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 24
-	1 0
+	0 14
+	1 18
 	2 0
 	3 0
 	4 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config.1
+name users
--- a/tests/test.e/blocks/14
+++ b/tests/test.e/blocks/14
@@ -1,16 +1,16 @@
-Tdentry 12
+Tdentry 14
 qid.version 0
-qid.path 12
+qid.path 14
 size 503
-pdblkno 9
-pqpath 7
-mtime 1666359865759956872
+pdblkno 13
+pqpath 13
+mtime 1668276591723301677
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 23
+	0 15
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super.1
+name inuse
--- a/tests/test.e/blocks/15
+++ b/tests/test.e/blocks/15
@@ -1,52 +1,7 @@
-Tdentry 13
-qid.version 0
-qid.path 13
-size 503
-pdblkno 9
-pqpath 7
-mtime 1666359865759962493
-mode 444
-uid -1
-gid -1
-muid -1
-direct blocks
-	0 22
-	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
-	5 0
-name root.1
+Tdata 14
+-1:adm:adm:glenda
+0:none:adm:
+9999:noworld::
+10000:sys::
+10001:upas:upas:
+10006:glenda:glenda:
--- a/tests/test.e/blocks/16
+++ b/tests/test.e/blocks/16
@@ -1,16 +1,16 @@
-Tdentry 14
+Tdentry 16
 qid.version 0
-qid.path 14
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666359865759931465
+qid.path 16
+size 9
+pdblkno 3
+pqpath 3
+mtime 1668276593894314978
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 0
+	0 28
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name ctl
+name frees
--- a/tests/test.e/blocks/17
+++ b/tests/test.e/blocks/17
@@ -1,16 +1,16 @@
-Tdentry 15
+Tdentry 17
 qid.version 0
-qid.path 15
-size 9
-pdblkno 4
-pqpath 5
-mtime 1666359868040073037
+qid.path 17
+size 0
+pdblkno 3
+pqpath 3
+mtime 1668276591723240841
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 26
+	0 0
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name frees
+name ctl
--- a/tests/test.e/blocks/18
+++ b/tests/test.e/blocks/18
@@ -1,19 +1,19 @@
-Tdentry 64
+Tdentry 18
 qid.version 0
-qid.path 64
-size 0
-pdblkno 3
-pqpath 63
-mtime 1666359866898311852
-mode 20000000777
-uid 10006
+qid.path 18
+size 503
+pdblkno 13
+pqpath 13
+mtime 1668276591723306327
+mode 444
+uid -1
 gid -1
-muid 10006
+muid -1
 direct blocks
-	0 19
-	1 20
-	2 21
-	3 25
+	0 0
+	1 0
+	2 0
+	3 0
 	4 0
 	5 0
 	6 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name a
+name staging
--- a/tests/test.e/blocks/19
+++ b/tests/test.e/blocks/19
@@ -1,17 +1,17 @@
-Tdentry 0
+Tdentry 19
 qid.version 0
-qid.path 0
+qid.path 19
 size 0
 pdblkno 0
 pqpath 0
-mtime 0
-mode 0
-uid 0
-gid 0
-muid 0
+mtime 1668276591723310830
+mode 20000000777
+uid -1
+gid -1
+muid -1
 direct blocks
-	0 0
-	1 0
+	0 3
+	1 20
 	2 0
 	3 0
 	4 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name 
+name /
--- a/tests/test.e/blocks/2
+++ b/tests/test.e/blocks/2
@@ -1,4 +1,4 @@
-Tdata 3
+Tdata 5
 start 0
 tfree 0
 qidgen 69
--- a/tests/test.e/blocks/20
+++ b/tests/test.e/blocks/20
@@ -1,19 +1,19 @@
-Tdentry 66
+Tdentry 64
 qid.version 0
-qid.path 66
+qid.path 64
 size 0
-pdblkno 18
-pqpath 64
-mtime 1666359866898986491
+pdblkno 19
+pqpath 19
+mtime 1668276592859578424
 mode 20000000777
 uid 10006
 gid -1
 muid 10006
 direct blocks
-	0 0
-	1 0
-	2 0
-	3 0
+	0 21
+	1 22
+	2 26
+	3 27
 	4 0
 	5 0
 	6 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name c
+name a
--- a/tests/test.e/blocks/22
+++ b/tests/test.e/blocks/22
@@ -1,1 +1,52 @@
-Tdata 13
+Tdentry 66
+qid.version 0
+qid.path 66
+size 0
+pdblkno 20
+pqpath 64
+mtime 1668276592860580964
+mode 20000000777
+uid 10006
+gid -1
+muid 10006
+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
+	5 0
+name c
--- a/tests/test.e/blocks/23
+++ b/tests/test.e/blocks/23
@@ -1,6 +1,1 @@
 Tdata 12
-start 0
-tfree 0
-qidgen 69
-frees 0
-fsok 1
--- a/tests/test.e/blocks/24
+++ b/tests/test.e/blocks/24
@@ -1,7 +1,6 @@
 Tdata 11
-size 16384
-nblocks 32
-backup config 1 to 31 24
-backup super 2 to 30 23
-backup root 3 to 29 22
-service test.e
+start 0
+tfree 0
+qidgen 69
+frees 0
+fsok 1
--- a/tests/test.e/blocks/29
+++ b/tests/test.e/blocks/29
@@ -1,1 +1,1 @@
-Tdata 10
+Tdata 9
--- a/tests/test.e/blocks/3
+++ b/tests/test.e/blocks/3
@@ -1,10 +1,10 @@
-Tdentry 63
+Tdentry 3
 qid.version 0
-qid.path 63
+qid.path 3
 size 0
-pdblkno 0
-pqpath 0
-mtime 1666359865759968192
+pdblkno 19
+pqpath 19
+mtime 1668276591723224229
 mode 20000000777
 uid -1
 gid -1
@@ -11,11 +11,11 @@
 muid -1
 direct blocks
 	0 4
-	1 18
-	2 0
-	3 0
-	4 0
-	5 0
+	1 5
+	2 6
+	3 13
+	4 16
+	5 17
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name /
+name adm
--- a/tests/test.e/blocks/30
+++ b/tests/test.e/blocks/30
@@ -1,4 +1,4 @@
-Tdata 9
+Tdata 8
 start 0
 tfree 0
 qidgen 69
--- a/tests/test.e/blocks/31
+++ b/tests/test.e/blocks/31
@@ -1,7 +1,7 @@
-Tdata 8
+Tdata 7
 size 16384
 nblocks 32
-backup config 1 to 31 24
-backup super 2 to 30 23
-backup root 3 to 29 22
+backup config 1 to 31 25
+backup super 2 to 30 24
+backup root 19 to 29 23
 service test.e
--- a/tests/test.e/blocks/4
+++ b/tests/test.e/blocks/4
@@ -1,21 +1,21 @@
-Tdentry 5
+Tdentry 4
 qid.version 0
-qid.path 5
+qid.path 4
 size 0
 pdblkno 3
-pqpath 63
-mtime 1666359865759923176
-mode 20000000777
+pqpath 3
+mtime 1668276591723238681
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 9
-	1 5
-	2 16
-	3 6
-	4 7
-	5 17
+	0 1
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name adm
+name config
--- a/tests/test.e/blocks/5
+++ b/tests/test.e/blocks/5
@@ -1,16 +1,16 @@
-Tdentry 2
+Tdentry 5
 qid.version 0
-qid.path 2
+qid.path 5
 size 0
-pdblkno 4
-pqpath 5
-mtime 1666359865759929589
+pdblkno 3
+pqpath 3
+mtime 1668276591723243242
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 1
+	0 2
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name config
+name super
--- a/tests/test.e/blocks/6
+++ b/tests/test.e/blocks/6
@@ -1,21 +1,21 @@
-Tdentry 3
+Tdentry 6
 qid.version 0
-qid.path 3
-size 0
-pdblkno 4
-pqpath 5
-mtime 1666359865759933393
-mode 444
+qid.path 6
+size 96
+pdblkno 3
+pqpath 3
+mtime 1668276591723230093
+mode 20000000777
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 2
-	1 0
-	2 0
-	3 0
-	4 0
-	5 0
+	0 7
+	1 8
+	2 9
+	3 10
+	4 11
+	5 12
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name super
+name bkp
--- a/tests/test.e/blocks/7
+++ b/tests/test.e/blocks/7
@@ -1,16 +1,16 @@
-Tdentry 6
+Tdentry 7
 qid.version 0
-qid.path 6
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666359865759939962
+qid.path 7
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668276591723250539
 mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 8
+	0 31
 	1 0
 	2 0
 	3 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name users
+name config.0
--- a/tests/test.e/blocks/8
+++ b/tests/test.e/blocks/8
@@ -1,9 +1,52 @@
-Tdata 6
--1:adm:adm:
-0:none:adm:
-9999:noworld::
-10000:sys::
-10001:upas:upas:
-10002:bootes:bootes:
-10006:glenda:glenda:
-10007:manies::
+Tdentry 8
+qid.version 0
+qid.path 8
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668276591723252873
+mode 444
+uid -1
+gid -1
+muid -1
+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
+	5 0
+name super.0
--- a/tests/test.e/blocks/9
+++ b/tests/test.e/blocks/9
@@ -1,21 +1,21 @@
-Tdentry 7
+Tdentry 9
 qid.version 0
-qid.path 7
-size 126
-pdblkno 4
-pqpath 5
-mtime 1666359865759927105
-mode 20000000777
+qid.path 9
+size 503
+pdblkno 6
+pqpath 6
+mtime 1668276591723280439
+mode 444
 uid -1
 gid -1
 muid -1
 direct blocks
-	0 10
-	1 11
-	2 12
-	3 13
-	4 14
-	5 15
+	0 29
+	1 0
+	2 0
+	3 0
+	4 0
+	5 0
 	6 0
 	7 0
 	8 0
@@ -49,4 +49,4 @@
 	3 0
 	4 0
 	5 0
-name bkp
+name root.0
--- a/tests/test.e/notes
+++ b/tests/test.e/notes
@@ -6,35 +6,35 @@
 0		- magic
 1		- config
 2		- super block
-3		- / direntry
-4		- /adm/ dir entry
-5		- /adm/config dir entry
-6		- /adm/super dir entry
-7		- /adm/users dir entry
-8		- /adm/users contents
-9		- /adm/bkp/ dir entry
-10	- /adm/bkp/config.0 dir entry
-11	- /adm/bkp/super.0 dir entry
-12	- /adm/bkp/root.0 dir entry
-13	- /adm/bkp/config.1 dir entry
-14	- /adm/bkp/super.1 dir entry
-15	- /adm/bkp/root.1 dir entry
-16	- /adm/ctl dir entry -- virtual file, empty contents
-17	- /adm/frees dir entry
+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
+18		- /adm/users/staging dir entry
+19		- / direntry
 
-18	- /a directory entry
-19	- zeroed out directory entry of /a/b
-20	- /a/c directory entry
-21	- zeroed out directory entry of /a/1.txt
+20	- /a directory entry
+21	- zeroed out directory entry of /a/b
+22	- /a/c directory entry
 
-22	- / direntry
-23	- super block
-24	- config
+23	- / direntry
+24	- super block
+25	- config
 
-25	- /a/2.txt directory entry
-26	- contents of /adm/frees
-27
-28
+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
--- a/user.c
+++ b/user.c
@@ -236,7 +236,7 @@
 	*up = new;
 	if(us == nil)
 		return 0;
-	for(u = leastid(us); u != nil && u->id < id; u = u->next){
+	for(prevu = u = leastid(us); u != nil && u->id < id; u = u->next){
 		prevu = u;
 	}
 	/* at the top/last */
@@ -430,7 +430,7 @@
 
 	readfile(Bdusersinuse, Qpusersinuse, buf, usize, 0);
 	if((rv=parseusers(&us, buf, usize)) != 0)
-		panic("could not parse /adm/users/inuse\n");
+		panic("could not parse /adm/users/inuse rv %d\n", rv);
 	free(buf);
 	lruuser = us;
 }