summaryrefslogtreecommitdiff
path: root/fs/fuse
diff options
context:
space:
mode:
authorAnand Avati <avati@redhat.com>2013-08-20 02:21:07 -0400
committerMiklos Szeredi <mszeredi@suse.cz>2013-09-03 13:41:58 +0200
commitd331a415aef98717393dda0be69b7947da08eba3 (patch)
treeb5c25f32c02b1eadc5218a0a1a7b0302f17f24f9 /fs/fuse
parent4a4ac4eba1010ef9a804569058ab29e3450c0315 (diff)
downloadlinux-stable-d331a415aef98717393dda0be69b7947da08eba3.tar.gz
linux-stable-d331a415aef98717393dda0be69b7947da08eba3.tar.bz2
linux-stable-d331a415aef98717393dda0be69b7947da08eba3.zip
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')
-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 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,
fc->no_setxattr = 1;
err = -EOPNOTSUPP;
}
+ if (!err)
+ fuse_invalidate_attr(inode);
return err;
}
@@ -1878,6 +1880,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;
}