Commit 1b9598c8 authored by Luis R. Rodriguez's avatar Luis R. Rodriguez Committed by Darrick J. Wong

xfs: fix reporting supported extra file attributes for statx()

statx(2) notes that any attribute that is not indicated as supported by
stx_attributes_mask has no usable value. Commit 5f955f26 ("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 5f955f26
v4.11-rc6~5^2^2~2

Fixes: 5f955f26 ("xfs: report crtime and attribute flags to statx")
Signed-off-by: default avatarLuis R. Rodriguez <mcgrof@kernel.org>
Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
[darrick: add a comment reminding people to keep attributes_mask up to date]
Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
parent 3d129e1b
...@@ -531,6 +531,10 @@ xfs_vn_getattr( ...@@ -531,6 +531,10 @@ 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) if (ip->i_d.di_flags & XFS_DIFLAG_IMMUTABLE)
stat->attributes |= STATX_ATTR_IMMUTABLE; stat->attributes |= STATX_ATTR_IMMUTABLE;
if (ip->i_d.di_flags & XFS_DIFLAG_APPEND) if (ip->i_d.di_flags & XFS_DIFLAG_APPEND)
...@@ -538,6 +542,10 @@ xfs_vn_getattr( ...@@ -538,6 +542,10 @@ xfs_vn_getattr(
if (ip->i_d.di_flags & XFS_DIFLAG_NODUMP) if (ip->i_d.di_flags & XFS_DIFLAG_NODUMP)
stat->attributes |= STATX_ATTR_NODUMP; stat->attributes |= STATX_ATTR_NODUMP;
stat->attributes_mask |= (STATX_ATTR_IMMUTABLE |
STATX_ATTR_APPEND |
STATX_ATTR_NODUMP);
switch (inode->i_mode & S_IFMT) { switch (inode->i_mode & S_IFMT) {
case S_IFBLK: case S_IFBLK:
case S_IFCHR: case S_IFCHR:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment