summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnand Avati <avati@redhat.com>2013-08-20 02:21:07 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-09-26 16:52:53 -0700
commit59e272211a96b1a4aee7ca1c328353f6c9b7e92e (patch)
tree2858e474c3060d1f4c4a475d4b7dadc849b9d131
parentf35b12e6453f12bb65f7d492b751f05cdeb41518 (diff)
fuse: invalidate inode attributes on xattr modification
commit d331a415aef98717393dda0be69b7947da08eba3 upstream. Calls like setxattr and removexattr result in updation of ctime. Therefore invalidate inode attributes to force a refresh. Signed-off-by: Anand Avati <avati@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--fs/fuse/dir.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c
index c04a025c677f..607a9736c951 100644
--- a/fs/fuse/dir.c
+++ b/fs/fuse/dir.c
@@ -1439,6 +1439,8 @@ static int fuse_setxattr(struct dentry *entry, const char *name,
fc->no_setxattr = 1;
err = -EOPNOTSUPP;
}
+ if (!err)
+ fuse_invalidate_attr(inode);
return err;
}
@@ -1568,6 +1570,8 @@ static int fuse_removexattr(struct dentry *entry, const char *name)
fc->no_removexattr = 1;
err = -EOPNOTSUPP;
}
+ if (!err)
+ fuse_invalidate_attr(inode);
return err;
}