diff --git a/weed/filesys/dir.go b/weed/filesys/dir.go index d8d098df4..ae6623e07 100644 --- a/weed/filesys/dir.go +++ b/weed/filesys/dir.go @@ -343,6 +343,8 @@ func (dir *Dir) Setxattr(ctx context.Context, req *fuse.SetxattrRequest) error { return err } + dir.wfs.listDirectoryEntriesCache.Delete(dir.Path) + return dir.saveEntry(ctx) } @@ -359,6 +361,8 @@ func (dir *Dir) Removexattr(ctx context.Context, req *fuse.RemovexattrRequest) e return err } + dir.wfs.listDirectoryEntriesCache.Delete(dir.Path) + return dir.saveEntry(ctx) } @@ -375,7 +379,7 @@ func (dir *Dir) Listxattr(ctx context.Context, req *fuse.ListxattrRequest, resp return err } - return dir.saveEntry(ctx) + return nil } diff --git a/weed/filesys/file.go b/weed/filesys/file.go index 0dd36f350..afe78ee0f 100644 --- a/weed/filesys/file.go +++ b/weed/filesys/file.go @@ -144,6 +144,8 @@ func (file *File) Setxattr(ctx context.Context, req *fuse.SetxattrRequest) error return err } + file.wfs.listDirectoryEntriesCache.Delete(file.fullpath()) + return file.saveEntry(ctx) } @@ -160,6 +162,8 @@ func (file *File) Removexattr(ctx context.Context, req *fuse.RemovexattrRequest) return err } + file.wfs.listDirectoryEntriesCache.Delete(file.fullpath()) + return file.saveEntry(ctx) } @@ -176,7 +180,7 @@ func (file *File) Listxattr(ctx context.Context, req *fuse.ListxattrRequest, res return err } - return file.saveEntry(ctx) + return nil }