[mkfile mkpaqfs.c paqfs.c paqfs.h] this fixes a checksum error caused by looking for the wrong tag here's a test script #!/bin/rc rfork en ramfs cd /tmp for(i in a b c d e f g h i j k l m n o p) touch `{dd -quiet 1 -if /dev/zero -count 1 | tr '\x00' $i} mkpaqfs -o paq.paq paqfs paq.paq ls /n/paq > /dev/null Reference: /n/sources/patch/applied/paqbigdir Date: Fri Dec 7 19:23:21 CET 2012 Signed-off-by: quanstro@quanstro.net --- /sys/src/cmd/paqfs/paqfs.c Fri Dec 7 19:22:43 2012 +++ /sys/src/cmd/paqfs/paqfs.c Fri Dec 7 19:22:42 2012 @@ -493,7 +493,7 @@ off = 0; i++; blockFree(b); - b = blockLoad(getl(ptr->data + i*4), DataBlock); + b = blockLoad(getl(ptr->data + i*4), DirBlock); } } f->offset = i*blocksize + off;