[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190625105725.GB26085@infradead.org>
Date: Tue, 25 Jun 2019 03:57:25 -0700
From: Christoph Hellwig <hch@...radead.org>
To: "Darrick J. Wong" <darrick.wong@...cle.com>
Cc: matthew.garrett@...ula.com, yuchao0@...wei.com, tytso@....edu,
shaggy@...nel.org, ard.biesheuvel@...aro.org, josef@...icpanda.com,
clm@...com, adilger.kernel@...ger.ca, jk@...abs.org, jack@...e.com,
dsterba@...e.com, jaegeuk@...nel.org, viro@...iv.linux.org.uk,
cluster-devel@...hat.com, jfs-discussion@...ts.sourceforge.net,
linux-efi@...r.kernel.org, Jan Kara <jack@...e.cz>,
reiserfs-devel@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-f2fs-devel@...ts.sourceforge.net, linux-xfs@...r.kernel.org,
linux-nilfs@...r.kernel.org, linux-mtd@...ts.infradead.org,
ocfs2-devel@....oracle.com, linux-fsdevel@...r.kernel.org,
linux-ext4@...r.kernel.org, linux-btrfs@...r.kernel.org
Subject: Re: [PATCH 2/4] vfs: create a generic checking function for
FS_IOC_FSSETXATTR
On Fri, Jun 21, 2019 at 04:56:29PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@...cle.com>
>
> Create a generic checking function for the incoming FS_IOC_FSSETXATTR
> fsxattr values so that we can standardize some of the implementation
> behaviors.
>
> Signed-off-by: Darrick J. Wong <darrick.wong@...cle.com>
> Reviewed-by: Jan Kara <jack@...e.cz>
> ---
> fs/btrfs/ioctl.c | 21 +++++++++-------
> fs/ext4/ioctl.c | 27 ++++++++++++++------
> fs/f2fs/file.c | 26 ++++++++++++++-----
> fs/inode.c | 17 +++++++++++++
> fs/xfs/xfs_ioctl.c | 70 ++++++++++++++++++++++++++++++----------------------
> include/linux/fs.h | 3 ++
> 6 files changed, 111 insertions(+), 53 deletions(-)
>
>
> diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
> index f408aa93b0cf..7ddda5b4b6a6 100644
> --- a/fs/btrfs/ioctl.c
> +++ b/fs/btrfs/ioctl.c
> @@ -366,6 +366,13 @@ static int check_xflags(unsigned int flags)
> return 0;
> }
>
> +static void __btrfs_ioctl_fsgetxattr(struct btrfs_inode *binode,
> + struct fsxattr *fa)
> +{
> + memset(fa, 0, sizeof(*fa));
> + fa->fsx_xflags = btrfs_inode_flags_to_xflags(binode->flags);
Is there really much of a point in this helper? Epeciall as
the zeroing could easily be done in the variable declaration
line using
struct fsxattr fa = { };
> + memset(fa, 0, sizeof(struct fsxattr));
> + fa->fsx_xflags = ext4_iflags_to_xflags(ei->i_flags & EXT4_FL_USER_VISIBLE);
Overly lone line.
> + if (ext4_has_feature_project(inode->i_sb)) {
> + fa->fsx_projid = (__u32)from_kprojid(&init_user_ns,
> + ei->i_projid);
The cast here looks bogus. Same comment for f2fs.
Powered by blists - more mailing lists