diff -r 6fae6f4c5e82 cmd/wm/fs.c --- a/cmd/wm/fs.c Sun Mar 19 22:50:49 2006 +0100 +++ b/cmd/wm/fs.c Sun Mar 19 23:40:54 2006 -0800 @@ -401,10 +401,20 @@ mkqid(Qid *dir, char *wname, Qid *new) new->type = IXP_QTFILE; new->path = mkqpath(type, qpath_i1id(dir->path), qpath_i2id(dir->path), qpath_i3id(dir->path)); break; + case FsFtag: + if(dir_i1 == -1 || dir_type != FsDws) + return -1; + new->type = IXP_QTFILE; + new->path = mkqpath(type, qpath_i1id(dir->path), qpath_i2id(dir->path), qpath_i3id(dir->path)); + break; case FsFgeom: case FsFname: case FsFclass: + if(dir_type == FsDroot) + return -1; case FsFtags: + if(dir_type != FsDroot && dir_type != FsDGclient && dir_type != FsDclient) + return -1; if((dir_type == FsDclient) && ((dir_i1 == -1 || dir_i2 == -1 || dir_i3 == -1))) return -1; else if((dir_type == FsDGclient) && (dir_i1 == -1))