* [PATCH] xfs: set attributes_mask in xfs_vn_getattr
@ 2019-03-01 16:17 Darrick J. Wong
2019-03-01 16:56 ` Darrick J. Wong
0 siblings, 1 reply; 2+ messages in thread
From: Darrick J. Wong @ 2019-03-01 16:17 UTC (permalink / raw)
To: xfs
From: Darrick J. Wong <darrick.wong@oracle.com>
According to the statx documentation we're supposed to set a bit in
attributes_mask for every inode flag that the filesystem can support.
We don't, so fix this.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
---
fs/xfs/xfs_iops.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c
index 1efef69a7f1c..74047bd0c1ae 100644
--- a/fs/xfs/xfs_iops.c
+++ b/fs/xfs/xfs_iops.c
@@ -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)
stat->attributes |= STATX_ATTR_IMMUTABLE;
if (ip->i_d.di_flags & XFS_DIFLAG_APPEND)
@@ -538,6 +542,10 @@ xfs_vn_getattr(
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:
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] xfs: set attributes_mask in xfs_vn_getattr
2019-03-01 16:17 [PATCH] xfs: set attributes_mask in xfs_vn_getattr Darrick J. Wong
@ 2019-03-01 16:56 ` Darrick J. Wong
0 siblings, 0 replies; 2+ messages in thread
From: Darrick J. Wong @ 2019-03-01 16:56 UTC (permalink / raw)
To: xfs
On Fri, Mar 01, 2019 at 08:17:27AM -0800, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@oracle.com>
>
> According to the statx documentation we're supposed to set a bit in
> attributes_mask for every inode flag that the filesystem can support.
> We don't, so fix this.
>
> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Heh, self-NAK, Luis posted the same thing a year and a half ago...
> ---
> fs/xfs/xfs_iops.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c
> index 1efef69a7f1c..74047bd0c1ae 100644
> --- a/fs/xfs/xfs_iops.c
> +++ b/fs/xfs/xfs_iops.c
> @@ -531,6 +531,10 @@ xfs_vn_getattr(
> }
> }
>
> + /*
> + * Note: If you add another clause to set an attribute flag, please
> + * update attributes_mask below.
> + */
...so I'll add this comment to his patch and merge it. Will post
xfsprogs changes and testcase soon.
--D
> if (ip->i_d.di_flags & XFS_DIFLAG_IMMUTABLE)
> stat->attributes |= STATX_ATTR_IMMUTABLE;
> if (ip->i_d.di_flags & XFS_DIFLAG_APPEND)
> @@ -538,6 +542,10 @@ xfs_vn_getattr(
> 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:
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-03-01 16:56 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-01 16:17 [PATCH] xfs: set attributes_mask in xfs_vn_getattr Darrick J. Wong
2019-03-01 16:56 ` Darrick J. Wong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox