Skip to content

Commit

Permalink
xfs: fix reporting supported extra file attributes for statx()
Browse files Browse the repository at this point in the history
statx(2) notes that any attribute that is not indicated as supported by
stx_attributes_mask has no usable value. Commit 5f955f2 ("xfs: report
crtime and attribute flags to statx") added support for informing userspace
of extra file attributes but forgot to list these flags as supported
making reporting them rather useless for the pedantic userspace author.

$ git describe --contains 5f955f2
v4.11-rc6~5^2^2~2

Fixes: 5f955f2 ("xfs: report crtime and attribute flags to statx")
Signed-off-by: Luis R. Rodriguez <[email protected]>
Reviewed-by: Darrick J. Wong <[email protected]>
[darrick: add a comment reminding people to keep attributes_mask up to date]
Signed-off-by: Darrick J. Wong <[email protected]>
  • Loading branch information
mcgrof authored and djwong committed Mar 1, 2019
1 parent 3d129e1 commit 1b9598c
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions fs/xfs/xfs_iops.c
Original file line number Diff line number Diff line change
Expand Up @@ -531,13 +531,21 @@ xfs_vn_getattr(
}
}

/*
* Note: If you add another clause to set an attribute flag, please
* update attributes_mask below.
*/
if (ip->i_d.di_flags & XFS_DIFLAG_IMMUTABLE)
stat->attributes |= STATX_ATTR_IMMUTABLE;
if (ip->i_d.di_flags & XFS_DIFLAG_APPEND)
stat->attributes |= STATX_ATTR_APPEND;
if (ip->i_d.di_flags & XFS_DIFLAG_NODUMP)
stat->attributes |= STATX_ATTR_NODUMP;

stat->attributes_mask |= (STATX_ATTR_IMMUTABLE |
STATX_ATTR_APPEND |
STATX_ATTR_NODUMP);

switch (inode->i_mode & S_IFMT) {
case S_IFBLK:
case S_IFCHR:
Expand Down

0 comments on commit 1b9598c

Please sign in to comment.