Message ID | 156174693930.1557952.9566025019367233702.stgit@magnolia (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | xfs: further FSSETXATTR cleanups | expand |
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) >
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)