Skip to content

Commit

Permalink
xfs: optimize the negative xattr caching
Browse files Browse the repository at this point in the history
Since the addition of file capabilities every write needs to read xattrs to
check if we have any capabilities to clear.  In Linux 3.0 Andi Kleen added
a flag to cache the fact that we do not have any attributes on an inode.
Make sure to already mark a file as not having any attributes when reading
it from disk in case it doesn't even have an attribute fork.  Based on an
earlier patch from Andi Kleen.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Alex Elder <aelder@sgi.com>
  • Loading branch information
Christoph Hellwig authored and Alex Elder committed Jul 27, 2011
1 parent d1166ec commit 510792e
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions fs/xfs/linux-2.6/xfs_iops.c
Original file line number Diff line number Diff line change
Expand Up @@ -1194,9 +1194,14 @@ xfs_setup_inode(
break;
}

/* if there is no attribute fork no ACL can exist on this inode */
if (!XFS_IFORK_Q(ip))
/*
* If there is no attribute fork no ACL can exist on this inode,
* and it can't have any file capabilities attached to it either.
*/
if (!XFS_IFORK_Q(ip)) {
inode_has_no_xattr(inode);
cache_no_acl(inode);
}

xfs_iflags_clear(ip, XFS_INEW);
barrier();
Expand Down

0 comments on commit 510792e

Please sign in to comment.