diff --git a/file_system.go b/file_system.go index d67fcee..60840ad 100644 --- a/file_system.go +++ b/file_system.go @@ -434,6 +434,7 @@ type SetInodeAttributesRequest struct { // The attributes to modify, or nil for attributes that don't need a change. Size *uint64 + Mode *os.FileMode } type SetInodeAttributesResponse struct { diff --git a/server.go b/server.go index 811c34b..dddfc74 100644 --- a/server.go +++ b/server.go @@ -182,6 +182,10 @@ func (s *server) handleFuseRequest(fuseReq bazilfuse.Request) { req.Size = &typed.Size } + if typed.Valid&bazilfuse.SetattrMode != 0 { + req.Mode = &typed.Mode + } + // Call the file system. resp, err := s.fs.SetInodeAttributes(ctx, req) if err != nil {