diff options
author | Christoph Hellwig <hch@infradead.org> | 2008-07-21 02:16:15 -0400 |
---|---|---|
committer | Niv Sardi <xaiki@debian.org> | 2008-07-28 02:59:39 -0400 |
commit | f13fae2d2a9372a5155d20bc9da4c14f02193277 (patch) | |
tree | 19bca1e8b3d5034ff84ad19e6a7640216ed3afaf /fs/xfs/linux-2.6/xfs_xattr.c | |
parent | 0f285c8a1c4cacfd9f2aec077b06e2b537ee57ab (diff) |
[XFS] Remove vn_revalidate calls in xfs.
These days most of the attributes in struct inode are properly kept in
sync by XFS. This patch removes the need for vn_revalidate completely by:
- keeping inode.i_flags uptodate after any flags are updated in
xfs_ioctl_setattr
- keeping i_mode, i_uid and i_gid uptodate in xfs_setattr
SGI-PV: 984566
SGI-Modid: xfs-linux-melb:xfs-kern:31679a
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Tim Shimmin <tes@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_xattr.c')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_xattr.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/xfs/linux-2.6/xfs_xattr.c b/fs/xfs/linux-2.6/xfs_xattr.c index b4acb68fc9f7..964621fde6ed 100644 --- a/fs/xfs/linux-2.6/xfs_xattr.c +++ b/fs/xfs/linux-2.6/xfs_xattr.c | |||
@@ -64,7 +64,7 @@ static int | |||
64 | xfs_xattr_system_set(struct inode *inode, const char *name, | 64 | xfs_xattr_system_set(struct inode *inode, const char *name, |
65 | const void *value, size_t size, int flags) | 65 | const void *value, size_t size, int flags) |
66 | { | 66 | { |
67 | int error, acl; | 67 | int acl; |
68 | 68 | ||
69 | acl = xfs_decode_acl(name); | 69 | acl = xfs_decode_acl(name); |
70 | if (acl < 0) | 70 | if (acl < 0) |
@@ -75,10 +75,7 @@ xfs_xattr_system_set(struct inode *inode, const char *name, | |||
75 | if (!value) | 75 | if (!value) |
76 | return xfs_acl_vremove(inode, acl); | 76 | return xfs_acl_vremove(inode, acl); |
77 | 77 | ||
78 | error = xfs_acl_vset(inode, (void *)value, size, acl); | 78 | return xfs_acl_vset(inode, (void *)value, size, acl); |
79 | if (!error) | ||
80 | vn_revalidate(inode); | ||
81 | return error; | ||
82 | } | 79 | } |
83 | 80 | ||
84 | static struct xattr_handler xfs_xattr_system_handler = { | 81 | static struct xattr_handler xfs_xattr_system_handler = { |