Commit Diff


commit - da8a485fc143aa323845fafcf0f0f836c76a116b
commit + 4798a8a5560552480efde5fe8b1f7963a25a96d3
blob - cbce3ffd73aca9d70afc2475646778cec89b8c1f
blob + a36628988b52998c727ffaa5a181715baf6dc827
--- src/cmd/9pfuse/main.c
+++ src/cmd/9pfuse/main.c
@@ -505,7 +505,9 @@ fusesetattr(FuseMsg *m)
 	if(in->valid&FATTR_MTIME)
 		d.mtime = in->mtime;
 	if(in->valid&FATTR_MODE)
-		d.mode = in->mode;
+		d.mode = in->mode & 0777;
+	if((in->mode&S_IFMT) == S_IFDIR)
+		d.mode |= DMDIR;
 	if((in->valid&FATTR_UID) || (in->valid&FATTR_GID)){
 		/*
 		 * I can't be bothered with these yet.