[2/3] xfs: clean up xfs_merge_ioc_xflags
diff mbox series

Message ID 156174693930.1557952.9566025019367233702.stgit@magnolia
State New
Headers show
Series
  • xfs: further FSSETXATTR cleanups
Related show

Commit Message

Darrick J. Wong June 28, 2019, 6:35 p.m. UTC
From: Darrick J. Wong <darrick.wong@oracle.com>

Clean up the calling convention since we're editing the fsxattr struct
anyway.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
---
 fs/xfs/xfs_ioctl.c |   32 ++++++++++++++------------------
 1 file changed, 14 insertions(+), 18 deletions(-)

Comments

Allison Collins July 7, 2019, 10:29 p.m. UTC | #1
On 6/28/19 11:35 AM, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@oracle.com>
> 
> Clean up the calling convention since we're editing the fsxattr struct
> anyway.
> 
This one looks ok.  You can add my review:
Reviewed-by: Allison Collins <allison.henderson@oracle.com>

> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
> ---
>   fs/xfs/xfs_ioctl.c |   32 ++++++++++++++------------------
>   1 file changed, 14 insertions(+), 18 deletions(-)
> 
> 
> diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c
> index 6f55cd7eb34f..d2526d9070d2 100644
> --- a/fs/xfs/xfs_ioctl.c
> +++ b/fs/xfs/xfs_ioctl.c
> @@ -829,35 +829,31 @@ xfs_ioc_ag_geometry(
>    * Linux extended inode flags interface.
>    */
>   
> -STATIC unsigned int
> +static inline void
>   xfs_merge_ioc_xflags(
> -	unsigned int	flags,
> -	unsigned int	start)
> +	struct fsxattr	*fa,
> +	unsigned int	flags)
>   {
> -	unsigned int	xflags = start;
> -
>   	if (flags & FS_IMMUTABLE_FL)
> -		xflags |= FS_XFLAG_IMMUTABLE;
> +		fa->fsx_xflags |= FS_XFLAG_IMMUTABLE;
>   	else
> -		xflags &= ~FS_XFLAG_IMMUTABLE;
> +		fa->fsx_xflags &= ~FS_XFLAG_IMMUTABLE;
>   	if (flags & FS_APPEND_FL)
> -		xflags |= FS_XFLAG_APPEND;
> +		fa->fsx_xflags |= FS_XFLAG_APPEND;
>   	else
> -		xflags &= ~FS_XFLAG_APPEND;
> +		fa->fsx_xflags &= ~FS_XFLAG_APPEND;
>   	if (flags & FS_SYNC_FL)
> -		xflags |= FS_XFLAG_SYNC;
> +		fa->fsx_xflags |= FS_XFLAG_SYNC;
>   	else
> -		xflags &= ~FS_XFLAG_SYNC;
> +		fa->fsx_xflags &= ~FS_XFLAG_SYNC;
>   	if (flags & FS_NOATIME_FL)
> -		xflags |= FS_XFLAG_NOATIME;
> +		fa->fsx_xflags |= FS_XFLAG_NOATIME;
>   	else
> -		xflags &= ~FS_XFLAG_NOATIME;
> +		fa->fsx_xflags &= ~FS_XFLAG_NOATIME;
>   	if (flags & FS_NODUMP_FL)
> -		xflags |= FS_XFLAG_NODUMP;
> +		fa->fsx_xflags |= FS_XFLAG_NODUMP;
>   	else
> -		xflags &= ~FS_XFLAG_NODUMP;
> -
> -	return xflags;
> +		fa->fsx_xflags &= ~FS_XFLAG_NODUMP;
>   }
>   
>   STATIC unsigned int
> @@ -1503,7 +1499,7 @@ xfs_ioc_setxflags(
>   		return -EOPNOTSUPP;
>   
>   	xfs_fill_fsxattr(ip, false, &fa);
> -	fa.fsx_xflags = xfs_merge_ioc_xflags(flags, fa.fsx_xflags);
> +	xfs_merge_ioc_xflags(&fa, flags);
>   
>   	error = mnt_want_write_file(filp);
>   	if (error)
>

Patch
diff mbox series

diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c
index 6f55cd7eb34f..d2526d9070d2 100644
--- a/fs/xfs/xfs_ioctl.c
+++ b/fs/xfs/xfs_ioctl.c
@@ -829,35 +829,31 @@  xfs_ioc_ag_geometry(
  * Linux extended inode flags interface.
  */
 
-STATIC unsigned int
+static inline void
 xfs_merge_ioc_xflags(
-	unsigned int	flags,
-	unsigned int	start)
+	struct fsxattr	*fa,
+	unsigned int	flags)
 {
-	unsigned int	xflags = start;
-
 	if (flags & FS_IMMUTABLE_FL)
-		xflags |= FS_XFLAG_IMMUTABLE;
+		fa->fsx_xflags |= FS_XFLAG_IMMUTABLE;
 	else
-		xflags &= ~FS_XFLAG_IMMUTABLE;
+		fa->fsx_xflags &= ~FS_XFLAG_IMMUTABLE;
 	if (flags & FS_APPEND_FL)
-		xflags |= FS_XFLAG_APPEND;
+		fa->fsx_xflags |= FS_XFLAG_APPEND;
 	else
-		xflags &= ~FS_XFLAG_APPEND;
+		fa->fsx_xflags &= ~FS_XFLAG_APPEND;
 	if (flags & FS_SYNC_FL)
-		xflags |= FS_XFLAG_SYNC;
+		fa->fsx_xflags |= FS_XFLAG_SYNC;
 	else
-		xflags &= ~FS_XFLAG_SYNC;
+		fa->fsx_xflags &= ~FS_XFLAG_SYNC;
 	if (flags & FS_NOATIME_FL)
-		xflags |= FS_XFLAG_NOATIME;
+		fa->fsx_xflags |= FS_XFLAG_NOATIME;
 	else
-		xflags &= ~FS_XFLAG_NOATIME;
+		fa->fsx_xflags &= ~FS_XFLAG_NOATIME;
 	if (flags & FS_NODUMP_FL)
-		xflags |= FS_XFLAG_NODUMP;
+		fa->fsx_xflags |= FS_XFLAG_NODUMP;
 	else
-		xflags &= ~FS_XFLAG_NODUMP;
-
-	return xflags;
+		fa->fsx_xflags &= ~FS_XFLAG_NODUMP;
 }
 
 STATIC unsigned int
@@ -1503,7 +1499,7 @@  xfs_ioc_setxflags(
 		return -EOPNOTSUPP;
 
 	xfs_fill_fsxattr(ip, false, &fa);
-	fa.fsx_xflags = xfs_merge_ioc_xflags(flags, fa.fsx_xflags);
+	xfs_merge_ioc_xflags(&fa, flags);
 
 	error = mnt_want_write_file(filp);
 	if (error)