aboutsummaryrefslogtreecommitdiffstats
path: root/fs/fuse/dir.c
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 20:18:30 -0400
commiteb97a45d12c9517b7846ebe3c97ee554b777ad34 (patch)
treeb8319b1161595f3b166db961d4f6500f2c4fa8a5 /fs/fuse/dir.c
parent3002e63bec05766a5af794b09d9cec34fda60519 (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>
Diffstat (limited to 'fs/fuse/dir.c')
-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 5b1274699b08..e1536f9ae809 100644
--- a/fs/fuse/dir.c
+++ b/fs/fuse/dir.c
@@ -1753,6 +1753,8 @@ static int fuse_setxattr(struct dentry *entry, const char *name,
1753 fc->no_setxattr = 1; 1753 fc->no_setxattr = 1;
1754 err = -EOPNOTSUPP; 1754 err = -EOPNOTSUPP;
1755 } 1755 }
1756 if (!err)
1757 fuse_invalidate_attr(inode);
1756 return err; 1758 return err;
1757} 1759}
1758 1760
@@ -1882,6 +1884,8 @@ static int fuse_removexattr(struct dentry *entry, const char *name)
1882 fc->no_removexattr = 1; 1884 fc->no_removexattr = 1;
1883 err = -EOPNOTSUPP; 1885 err = -EOPNOTSUPP;
1884 } 1886 }
1887 if (!err)
1888 fuse_invalidate_attr(inode);
1885 return err; 1889 return err;
1886} 1890}
1887 1891