mkfs -a understands how to quote filenames with %q but mkext doesn't know how to unpack them. My fix doesn't allow any of the fields in the header to be zero length, however looking at mkfs it uses %q for the filename and uid and gid so I don't beleive this is a problem. Perhaps there some old mkfs archives which have missing uid or gid that this change might break? -Steve Reference: /n/sources/patch/applied/mkext-quoted-filenames Date: Sun Aug 8 05:41:23 CES 2004 --- /sys/src/cmd/disk/mkext.c Sun Aug 8 05:41:23 2004 +++ /sys/src/cmd/disk/mkext.c Sun Aug 8 05:41:22 2004 @@ -72,11 +72,13 @@ fprint(2, "done\n"); exits(0); } - if(getfields(p, fields, NFLDS, 0, " \t") != NFLDS){ + if (gettokens(p, fields, NFLDS, " \t") != NFLDS){ warn("too few fields in file header"); continue; } - strcpy(namep, fields[0]); + p = unquotestrdup(fields[0]) + strcpy(namep, p); + free(p); mode = strtoul(fields[1], 0, 8); uid = fields[2]; gid = fields[3];