aboutsummaryrefslogtreecommitdiff
path: root/weed/filesys/file.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@uber.com>2021-04-04 21:40:58 -0700
committerChris Lu <chris.lu@uber.com>2021-04-04 21:40:58 -0700
commit0f64f5b9c8bea153171c8070f423b9910820bbb1 (patch)
treef647a537329d858e355572a3282a516dac6ce986 /weed/filesys/file.go
parent6eee200c13b98088ebc6bb540b78fc7fe136a401 (diff)
downloadseaweedfs-0f64f5b9c8bea153171c8070f423b9910820bbb1.tar.xz
seaweedfs-0f64f5b9c8bea153171c8070f423b9910820bbb1.zip
mount: add readOnly option
fix https://github.com/chrislusf/seaweedfs/issues/1961
Diffstat (limited to 'weed/filesys/file.go')
-rw-r--r--weed/filesys/file.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/weed/filesys/file.go b/weed/filesys/file.go
index 58605f2f1..2433be590 100644
--- a/weed/filesys/file.go
+++ b/weed/filesys/file.go
@@ -110,6 +110,10 @@ func (file *File) Open(ctx context.Context, req *fuse.OpenRequest, resp *fuse.Op
func (file *File) Setattr(ctx context.Context, req *fuse.SetattrRequest, resp *fuse.SetattrResponse) error {
+ if file.wfs.option.ReadOnly {
+ return fuse.EPERM
+ }
+
glog.V(4).Infof("%v file setattr %+v", file.fullpath(), req)
entry, err := file.maybeLoadEntry(ctx)
@@ -200,6 +204,10 @@ func (file *File) Setattr(ctx context.Context, req *fuse.SetattrRequest, resp *f
func (file *File) Setxattr(ctx context.Context, req *fuse.SetxattrRequest) error {
+ if file.wfs.option.ReadOnly {
+ return fuse.EPERM
+ }
+
glog.V(4).Infof("file Setxattr %s: %s", file.fullpath(), req.Name)
entry, err := file.maybeLoadEntry(ctx)
@@ -217,6 +225,10 @@ func (file *File) Setxattr(ctx context.Context, req *fuse.SetxattrRequest) error
func (file *File) Removexattr(ctx context.Context, req *fuse.RemovexattrRequest) error {
+ if file.wfs.option.ReadOnly {
+ return fuse.EPERM
+ }
+
glog.V(4).Infof("file Removexattr %s: %s", file.fullpath(), req.Name)
entry, err := file.maybeLoadEntry(ctx)