[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190301153931.GM21626@magnolia>
Date: Fri, 1 Mar 2019 07:39:31 -0800
From: "Darrick J. Wong" <darrick.wong@...cle.com>
To: Wang Shilong <wangshilong1991@...il.com>
Cc: linux-fsdevel@...r.kernel.org, linux-ext4@...r.kernel.org,
linux-xfs@...r.kernel.org, linux-f2fs-devel@...ts.sourceforge.net,
lixi@....com, adilger@...ger.ca, Wang Shilong <wshilong@....com>
Subject: Re: [PATCH 8/8] xfs: support project in xfs_getattr()
On Fri, Mar 01, 2019 at 11:05:41PM +0900, Wang Shilong wrote:
> From: Wang Shilong <wshilong@....com>
>
> From: Wang Shilong <wshilong@....com>
>
> Signed-off-by: Wang Shilong <wshilong@....com>
> ---
> fs/xfs/xfs_iops.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c
> index c10466fe6ed4..a2f8c0f048cf 100644
> --- a/fs/xfs/xfs_iops.c
> +++ b/fs/xfs/xfs_iops.c
> @@ -501,6 +501,7 @@ xfs_vn_getattr(
> if (XFS_FORCED_SHUTDOWN(mp))
> return -EIO;
>
> + stat->projid = xfs_projid_to_kprojid(xfs_get_projid(ip));
I think we're supposed to set STATX_PROJID in the result mask if the
caller asks for it, right?
if (request_mask & STATX_PROJID) {
stat->projid = xfs_projid_to_kprojid(xfs_get_projid(ip));
stat->result_mask |= STATX_PROJID;
}
> stat->size = XFS_ISIZE(ip);
> stat->dev = inode->i_sb->s_dev;
> stat->mode = inode->i_mode;
> @@ -528,6 +529,8 @@ xfs_vn_getattr(
> stat->attributes |= STATX_ATTR_APPEND;
> if (ip->i_d.di_flags & XFS_DIFLAG_NODUMP)
> stat->attributes |= STATX_ATTR_NODUMP;
> + if (ip->i_d.di_flags & XFS_DIFLAG_PROJINHERIT)
> + stat->attributes |= STATX_ATTR_PROJINHERIT;
I think we also have to set STATX_ATTR_PROJINHERIT in the
attributes_mask, but ... heh, XFS doesn't do that at all. :(
--D
> switch (inode->i_mode & S_IFMT) {
> case S_IFBLK:
> --
> 2.19.1
>
Powered by blists - more mailing lists