[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>
This commit is contained in:

committed by
Niv Sardi

parent
0f285c8a1c
commit
f13fae2d2a
@@ -650,21 +650,7 @@ xfs_vn_setattr(
|
||||
struct dentry *dentry,
|
||||
struct iattr *iattr)
|
||||
{
|
||||
struct inode *inode = dentry->d_inode;
|
||||
int error;
|
||||
|
||||
if (iattr->ia_valid & ATTR_ATIME)
|
||||
inode->i_atime = iattr->ia_atime;
|
||||
|
||||
if (iattr->ia_valid & ATTR_MODE) {
|
||||
if (!in_group_p(inode->i_gid) && !capable(CAP_FSETID))
|
||||
inode->i_mode &= ~S_ISGID;
|
||||
}
|
||||
|
||||
error = xfs_setattr(XFS_I(inode), iattr, 0, NULL);
|
||||
if (likely(!error))
|
||||
vn_revalidate(vn_from_inode(inode));
|
||||
return -error;
|
||||
return -xfs_setattr(XFS_I(dentry->d_inode), iattr, 0, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user