ollie-9p-mount: pass through actual 9P permissions
p9File.Getattr was hardcoding 0666 for all files, breaking permission visibility in per-session mounts. Use the actual mode from the 9P stat response instead.
This commit is contained in:
parent
06ddf36de3
commit
b381fa4b13
|
|
@ -99,16 +99,18 @@ func (f *p9File) Getattr(ctx context.Context, fh fs.FileHandle, out *fuse.AttrOu
|
|||
if err != nil {
|
||||
return syscall.ENOENT
|
||||
}
|
||||
// Report all files as rw so the kernel doesn't block writes;
|
||||
// the 9P server enforces actual permissions.
|
||||
out.Mode = 0666
|
||||
out.Mode = uint32(dir.Mode) & 0777
|
||||
out.Size = dir.Length
|
||||
return 0
|
||||
}
|
||||
|
||||
func (f *p9File) Setattr(ctx context.Context, fh fs.FileHandle, in *fuse.SetAttrIn, out *fuse.AttrOut) syscall.Errno {
|
||||
// Accept truncate silently — 9P files are append/overwrite on write.
|
||||
out.Mode = 0666
|
||||
dir, err := f.fsys.Stat(f.path)
|
||||
if err != nil {
|
||||
return syscall.ENOENT
|
||||
}
|
||||
out.Mode = uint32(dir.Mode) & 0777
|
||||
return 0
|
||||
}
|
||||
|
||||
|
|
|
|||
Reference in New Issue