code: mafs

ref: eef0fe67ee4bb8c254f0f9e61c24ef5d34d05a4f
dir: /tests/script.post/

View raw version
#!/bin/rc

t=$1
disk=$2
nblocks=$3

# check the contents
for(b in `{seq 0 1 `{echo $nblocks ' 1 - p' | dc}}){
	file=$t/blocks/^$b
	test -f $file &&
		@{ # to avoid warning: process exceeds 200 file descriptors
			> /tmp/^$t^.out >[2]/tmp/^$t^.err \
			diff <{grep -v '^mtime' $file} \
				<{disk/block $disk $b | grep -v '^mtime'} ||
			{
				echo $file
				cat /tmp/^$t^.out
				cat /tmp/^$t^.err
			}
		}
}
rm /tmp/^$t^*

# reconcile the used and free blocks
echo reconcile $disk $nblocks
disk/reconcile -u <{disk/used $disk} -F <{disk/free $disk} $nblocks