aboutsummaryrefslogtreecommitdiff
path: root/fs/xfs/linux-2.6/xfs_xattr.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2008-07-21 16:16:15 +1000
committerNiv Sardi <xaiki@debian.org>2008-07-28 16:59:39 +1000
commitf13fae2d2a9372a5155d20bc9da4c14f02193277 (patch)
tree19bca1e8b3d5034ff84ad19e6a7640216ed3afaf /fs/xfs/linux-2.6/xfs_xattr.c
parent0f285c8a1c4cacfd9f2aec077b06e2b537ee57ab (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.c7
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 b4acb68fc9f..964621fde6e 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
xfs_xattr_system_set(struct inode *inode, const char *name,
const void *value, size_t size, int flags)
{
- int error, acl;
+ int acl;
acl = xfs_decode_acl(name);
if (acl < 0)
@@ -75,10 +75,7 @@ xfs_xattr_system_set(struct inode *inode, const char *name,
if (!value)
return xfs_acl_vremove(inode, acl);
- error = xfs_acl_vset(inode, (void *)value, size, acl);
- if (!error)
- vn_revalidate(inode);
- return error;
+ return xfs_acl_vset(inode, (void *)value, size, acl);
}
static struct xattr_handler xfs_xattr_system_handler = {