diff options
author | Anand Avati <avati@redhat.com> | 2013-08-20 02:21:07 -0400 |
---|---|---|
committer | Miklos Szeredi <mszeredi@suse.cz> | 2013-09-03 07:41:58 -0400 |
commit | d331a415aef98717393dda0be69b7947da08eba3 (patch) | |
tree | b5c25f32c02b1eadc5218a0a1a7b0302f17f24f9 /fs/fuse/dir.c | |
parent | 4a4ac4eba1010ef9a804569058ab29e3450c0315 (diff) |
fuse: invalidate inode attributes on xattr modification
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>
Cc: stable@vger.kernel.org
Diffstat (limited to 'fs/fuse/dir.c')
-rw-r--r-- | fs/fuse/dir.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c index 72a5d5b04494..c49b8c722e27 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c | |||
@@ -1749,6 +1749,8 @@ static int fuse_setxattr(struct dentry *entry, const char *name, | |||
1749 | fc->no_setxattr = 1; | 1749 | fc->no_setxattr = 1; |
1750 | err = -EOPNOTSUPP; | 1750 | err = -EOPNOTSUPP; |
1751 | } | 1751 | } |
1752 | if (!err) | ||
1753 | fuse_invalidate_attr(inode); | ||
1752 | return err; | 1754 | return err; |
1753 | } | 1755 | } |
1754 | 1756 | ||
@@ -1878,6 +1880,8 @@ static int fuse_removexattr(struct dentry *entry, const char *name) | |||
1878 | fc->no_removexattr = 1; | 1880 | fc->no_removexattr = 1; |
1879 | err = -EOPNOTSUPP; | 1881 | err = -EOPNOTSUPP; |
1880 | } | 1882 | } |
1883 | if (!err) | ||
1884 | fuse_invalidate_attr(inode); | ||
1881 | return err; | 1885 | return err; |
1882 | } | 1886 | } |
1883 | 1887 | ||