diff --git a/sys/man/1/walk b/sys/man/1/walk index 6129b0a3d..f8e7a75e2 100644 --- a/sys/man/1/walk +++ b/sys/man/1/walk @@ -89,6 +89,12 @@ size in bytes .TP .B x permissions +.TP +.B D +server device +.TP +.B T +server type (kernel device rune) .PD .PP The default statfmt is simply, diff --git a/sys/src/cmd/walk.c b/sys/src/cmd/walk.c index 12f42e5b1..cd83acca7 100644 --- a/sys/src/cmd/walk.c +++ b/sys/src/cmd/walk.c @@ -71,6 +71,10 @@ dofile(char *path, Dir *f, int pathonly) case 'q': Bprint(bout, "%ullx.%uld.%.2uhhx", f->qid.path, f->qid.vers, f->qid.type); break; case 's': Bprint(bout, "%lld", f->length); break; case 'x': Bprint(bout, "%ulo", f->mode); break; + + /* These two are slightly different, as they tell us about the fileserver instead of the file */ + case 'D': Bprint(bout, "%ud", f->dev); break; + case 'T': Bprint(bout, "%C", f->type); break; default: abort(); } @@ -238,7 +242,7 @@ main(int argc, char **argv) if((stfmt = s_reset(stfmt)) == nil) sysfatal("s_reset: %r"); s_append(stfmt, EARGF(usage())); - i = strspn(s_to_c(stfmt), "UGMamnpqsx"); + i = strspn(s_to_c(stfmt), "UGMamnpqsxDT"); if(i != s_len(stfmt)) sysfatal("bad stfmt: %s", s_to_c(stfmt)); break;