diff mbox series

[1/2] xfs: change the prefix of XFS_EOF_FLAGS_* to XFS_ICWALK_FLAG_

Message ID 162300206990.1202657.3281876344287883806.stgit@locust (mailing list archive)
State Accepted
Headers show
Series xfs: rename struct xfs_eofblocks | expand

Commit Message

Darrick J. Wong June 6, 2021, 5:54 p.m. UTC
From: Darrick J. Wong <djwong@kernel.org>

In preparation for renaming struct xfs_eofblocks to struct xfs_icwalk,
change the prefix of the existing XFS_EOF_FLAGS_* flags to
XFS_ICWALK_FLAG_ and convert all the existing users.  This adds a degree
of interface separation between the ioctl definitions and the incore
parameters.  Since FLAGS_UNION is only used in xfs_icache.c, move it
there as a private flag.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
 fs/xfs/xfs_file.c   |    4 ++--
 fs/xfs/xfs_icache.c |   44 +++++++++++++++++++++++---------------------
 fs/xfs/xfs_icache.h |   17 +++++++++++++++--
 fs/xfs/xfs_ioctl.c  |   13 ++++++++++++-
 4 files changed, 52 insertions(+), 26 deletions(-)

Comments

Dave Chinner June 7, 2021, 1:45 a.m. UTC | #1
On Sun, Jun 06, 2021 at 10:54:29AM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
> 
> In preparation for renaming struct xfs_eofblocks to struct xfs_icwalk,
> change the prefix of the existing XFS_EOF_FLAGS_* flags to
> XFS_ICWALK_FLAG_ and convert all the existing users.  This adds a degree
> of interface separation between the ioctl definitions and the incore
> parameters.  Since FLAGS_UNION is only used in xfs_icache.c, move it
> there as a private flag.
> 
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
>  fs/xfs/xfs_file.c   |    4 ++--
>  fs/xfs/xfs_icache.c |   44 +++++++++++++++++++++++---------------------
>  fs/xfs/xfs_icache.h |   17 +++++++++++++++--
>  fs/xfs/xfs_ioctl.c  |   13 ++++++++++++-
>  4 files changed, 52 insertions(+), 26 deletions(-)

Looks reasonable.

Reviewed-by: Dave Chinner <dchinner@redhat.com>
Carlos Maiolino June 7, 2021, 10:59 a.m. UTC | #2
On Sun, Jun 06, 2021 at 10:54:29AM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
> 
> In preparation for renaming struct xfs_eofblocks to struct xfs_icwalk,
> change the prefix of the existing XFS_EOF_FLAGS_* flags to
> XFS_ICWALK_FLAG_ and convert all the existing users.  This adds a degree
> of interface separation between the ioctl definitions and the incore
> parameters.  Since FLAGS_UNION is only used in xfs_icache.c, move it
> there as a private flag.
> 
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>

Looks good.
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>

> ---
>  fs/xfs/xfs_file.c   |    4 ++--
>  fs/xfs/xfs_icache.c |   44 +++++++++++++++++++++++---------------------
>  fs/xfs/xfs_icache.h |   17 +++++++++++++++--
>  fs/xfs/xfs_ioctl.c  |   13 ++++++++++++-
>  4 files changed, 52 insertions(+), 26 deletions(-)
> 
> 
> diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c
> index c068dcd414f4..eb39c3777491 100644
> --- a/fs/xfs/xfs_file.c
> +++ b/fs/xfs/xfs_file.c
> @@ -769,7 +769,7 @@ xfs_file_buffered_write(
>  	 */
>  	if (ret == -EDQUOT && !cleared_space) {
>  		xfs_iunlock(ip, iolock);
> -		xfs_blockgc_free_quota(ip, XFS_EOF_FLAGS_SYNC);
> +		xfs_blockgc_free_quota(ip, XFS_ICWALK_FLAG_SYNC);
>  		cleared_space = true;
>  		goto write_retry;
>  	} else if (ret == -ENOSPC && !cleared_space) {
> @@ -779,7 +779,7 @@ xfs_file_buffered_write(
>  		xfs_flush_inodes(ip->i_mount);
>  
>  		xfs_iunlock(ip, iolock);
> -		eofb.eof_flags = XFS_EOF_FLAGS_SYNC;
> +		eofb.eof_flags = XFS_ICWALK_FLAG_SYNC;
>  		xfs_blockgc_free_space(ip->i_mount, &eofb);
>  		goto write_retry;
>  	}
> diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c
> index 53dab8959e1d..ce6ac32a0c29 100644
> --- a/fs/xfs/xfs_icache.c
> +++ b/fs/xfs/xfs_icache.c
> @@ -62,7 +62,7 @@ static int xfs_icwalk_ag(struct xfs_perag *pag,
>  
>  /*
>   * Private inode cache walk flags for struct xfs_eofblocks.  Must not coincide
> - * with XFS_EOF_FLAGS_*.
> + * with XFS_ICWALK_FLAGS_VALID.
>   */
>  #define XFS_ICWALK_FLAG_DROP_UDQUOT	(1U << 31)
>  #define XFS_ICWALK_FLAG_DROP_GDQUOT	(1U << 30)
> @@ -72,12 +72,14 @@ static int xfs_icwalk_ag(struct xfs_perag *pag,
>  #define XFS_ICWALK_FLAG_SCAN_LIMIT	(1U << 28)
>  
>  #define XFS_ICWALK_FLAG_RECLAIM_SICK	(1U << 27)
> +#define XFS_ICWALK_FLAG_UNION		(1U << 26) /* union filter algorithm */
>  
>  #define XFS_ICWALK_PRIVATE_FLAGS	(XFS_ICWALK_FLAG_DROP_UDQUOT | \
>  					 XFS_ICWALK_FLAG_DROP_GDQUOT | \
>  					 XFS_ICWALK_FLAG_DROP_PDQUOT | \
>  					 XFS_ICWALK_FLAG_SCAN_LIMIT | \
> -					 XFS_ICWALK_FLAG_RECLAIM_SICK)
> +					 XFS_ICWALK_FLAG_RECLAIM_SICK | \
> +					 XFS_ICWALK_FLAG_UNION)
>  
>  /*
>   * Allocate and initialise an xfs_inode.
> @@ -1113,15 +1115,15 @@ xfs_inode_match_id(
>  	struct xfs_inode	*ip,
>  	struct xfs_eofblocks	*eofb)
>  {
> -	if ((eofb->eof_flags & XFS_EOF_FLAGS_UID) &&
> +	if ((eofb->eof_flags & XFS_ICWALK_FLAG_UID) &&
>  	    !uid_eq(VFS_I(ip)->i_uid, eofb->eof_uid))
>  		return false;
>  
> -	if ((eofb->eof_flags & XFS_EOF_FLAGS_GID) &&
> +	if ((eofb->eof_flags & XFS_ICWALK_FLAG_GID) &&
>  	    !gid_eq(VFS_I(ip)->i_gid, eofb->eof_gid))
>  		return false;
>  
> -	if ((eofb->eof_flags & XFS_EOF_FLAGS_PRID) &&
> +	if ((eofb->eof_flags & XFS_ICWALK_FLAG_PRID) &&
>  	    ip->i_projid != eofb->eof_prid)
>  		return false;
>  
> @@ -1137,15 +1139,15 @@ xfs_inode_match_id_union(
>  	struct xfs_inode	*ip,
>  	struct xfs_eofblocks	*eofb)
>  {
> -	if ((eofb->eof_flags & XFS_EOF_FLAGS_UID) &&
> +	if ((eofb->eof_flags & XFS_ICWALK_FLAG_UID) &&
>  	    uid_eq(VFS_I(ip)->i_uid, eofb->eof_uid))
>  		return true;
>  
> -	if ((eofb->eof_flags & XFS_EOF_FLAGS_GID) &&
> +	if ((eofb->eof_flags & XFS_ICWALK_FLAG_GID) &&
>  	    gid_eq(VFS_I(ip)->i_gid, eofb->eof_gid))
>  		return true;
>  
> -	if ((eofb->eof_flags & XFS_EOF_FLAGS_PRID) &&
> +	if ((eofb->eof_flags & XFS_ICWALK_FLAG_PRID) &&
>  	    ip->i_projid == eofb->eof_prid)
>  		return true;
>  
> @@ -1167,7 +1169,7 @@ xfs_inode_matches_eofb(
>  	if (!eofb)
>  		return true;
>  
> -	if (eofb->eof_flags & XFS_EOF_FLAGS_UNION)
> +	if (eofb->eof_flags & XFS_ICWALK_FLAG_UNION)
>  		match = xfs_inode_match_id_union(ip, eofb);
>  	else
>  		match = xfs_inode_match_id(ip, eofb);
> @@ -1175,7 +1177,7 @@ xfs_inode_matches_eofb(
>  		return false;
>  
>  	/* skip the inode if the file size is too small */
> -	if ((eofb->eof_flags & XFS_EOF_FLAGS_MINFILESIZE) &&
> +	if ((eofb->eof_flags & XFS_ICWALK_FLAG_MINFILESIZE) &&
>  	    XFS_ISIZE(ip) < eofb->eof_min_file_size)
>  		return false;
>  
> @@ -1207,7 +1209,7 @@ xfs_inode_free_eofblocks(
>  {
>  	bool			wait;
>  
> -	wait = eofb && (eofb->eof_flags & XFS_EOF_FLAGS_SYNC);
> +	wait = eofb && (eofb->eof_flags & XFS_ICWALK_FLAG_SYNC);
>  
>  	if (!xfs_iflags_test(ip, XFS_IEOFBLOCKS))
>  		return 0;
> @@ -1370,7 +1372,7 @@ xfs_inode_free_cowblocks(
>  	bool			wait;
>  	int			ret = 0;
>  
> -	wait = eofb && (eofb->eof_flags & XFS_EOF_FLAGS_SYNC);
> +	wait = eofb && (eofb->eof_flags & XFS_ICWALK_FLAG_SYNC);
>  
>  	if (!xfs_iflags_test(ip, XFS_ICOWBLOCKS))
>  		return 0;
> @@ -1560,7 +1562,7 @@ xfs_blockgc_free_space(
>   * scan.
>   *
>   * Callers must not hold any inode's ILOCK.  If requesting a synchronous scan
> - * (XFS_EOF_FLAGS_SYNC), the caller also must not hold any inode's IOLOCK or
> + * (XFS_ICWALK_FLAG_SYNC), the caller also must not hold any inode's IOLOCK or
>   * MMAPLOCK.
>   */
>  int
> @@ -1569,7 +1571,7 @@ xfs_blockgc_free_dquots(
>  	struct xfs_dquot	*udqp,
>  	struct xfs_dquot	*gdqp,
>  	struct xfs_dquot	*pdqp,
> -	unsigned int		eof_flags)
> +	unsigned int		iwalk_flags)
>  {
>  	struct xfs_eofblocks	eofb = {0};
>  	bool			do_work = false;
> @@ -1581,23 +1583,23 @@ xfs_blockgc_free_dquots(
>  	 * Run a scan to free blocks using the union filter to cover all
>  	 * applicable quotas in a single scan.
>  	 */
> -	eofb.eof_flags = XFS_EOF_FLAGS_UNION | eof_flags;
> +	eofb.eof_flags = XFS_ICWALK_FLAG_UNION | iwalk_flags;
>  
>  	if (XFS_IS_UQUOTA_ENFORCED(mp) && udqp && xfs_dquot_lowsp(udqp)) {
>  		eofb.eof_uid = make_kuid(mp->m_super->s_user_ns, udqp->q_id);
> -		eofb.eof_flags |= XFS_EOF_FLAGS_UID;
> +		eofb.eof_flags |= XFS_ICWALK_FLAG_UID;
>  		do_work = true;
>  	}
>  
>  	if (XFS_IS_UQUOTA_ENFORCED(mp) && gdqp && xfs_dquot_lowsp(gdqp)) {
>  		eofb.eof_gid = make_kgid(mp->m_super->s_user_ns, gdqp->q_id);
> -		eofb.eof_flags |= XFS_EOF_FLAGS_GID;
> +		eofb.eof_flags |= XFS_ICWALK_FLAG_GID;
>  		do_work = true;
>  	}
>  
>  	if (XFS_IS_PQUOTA_ENFORCED(mp) && pdqp && xfs_dquot_lowsp(pdqp)) {
>  		eofb.eof_prid = pdqp->q_id;
> -		eofb.eof_flags |= XFS_EOF_FLAGS_PRID;
> +		eofb.eof_flags |= XFS_ICWALK_FLAG_PRID;
>  		do_work = true;
>  	}
>  
> @@ -1611,12 +1613,12 @@ xfs_blockgc_free_dquots(
>  int
>  xfs_blockgc_free_quota(
>  	struct xfs_inode	*ip,
> -	unsigned int		eof_flags)
> +	unsigned int		iwalk_flags)
>  {
>  	return xfs_blockgc_free_dquots(ip->i_mount,
>  			xfs_inode_dquot(ip, XFS_DQTYPE_USER),
>  			xfs_inode_dquot(ip, XFS_DQTYPE_GROUP),
> -			xfs_inode_dquot(ip, XFS_DQTYPE_PROJ), eof_flags);
> +			xfs_inode_dquot(ip, XFS_DQTYPE_PROJ), iwalk_flags);
>  }
>  
>  /* XFS Inode Cache Walking Code */
> @@ -1836,5 +1838,5 @@ xfs_icwalk(
>  		}
>  	}
>  	return last_error;
> -	BUILD_BUG_ON(XFS_ICWALK_PRIVATE_FLAGS & XFS_EOF_FLAGS_VALID);
> +	BUILD_BUG_ON(XFS_ICWALK_PRIVATE_FLAGS & XFS_ICWALK_FLAGS_VALID);
>  }
> diff --git a/fs/xfs/xfs_icache.h b/fs/xfs/xfs_icache.h
> index 191620a069af..b29048c493b6 100644
> --- a/fs/xfs/xfs_icache.h
> +++ b/fs/xfs/xfs_icache.h
> @@ -18,6 +18,19 @@ struct xfs_eofblocks {
>  	int		icw_scan_limit;
>  };
>  
> +/* Flags that reflect xfs_fs_eofblocks functionality. */
> +#define XFS_ICWALK_FLAG_SYNC		(1U << 0) /* sync/wait mode scan */
> +#define XFS_ICWALK_FLAG_UID		(1U << 1) /* filter by uid */
> +#define XFS_ICWALK_FLAG_GID		(1U << 2) /* filter by gid */
> +#define XFS_ICWALK_FLAG_PRID		(1U << 3) /* filter by project id */
> +#define XFS_ICWALK_FLAG_MINFILESIZE	(1U << 4) /* filter by min file size */
> +
> +#define XFS_ICWALK_FLAGS_VALID		(XFS_ICWALK_FLAG_SYNC | \
> +					 XFS_ICWALK_FLAG_UID | \
> +					 XFS_ICWALK_FLAG_GID | \
> +					 XFS_ICWALK_FLAG_PRID | \
> +					 XFS_ICWALK_FLAG_MINFILESIZE)
> +
>  /*
>   * Flags for xfs_iget()
>   */
> @@ -43,8 +56,8 @@ void xfs_inode_mark_reclaimable(struct xfs_inode *ip);
>  
>  int xfs_blockgc_free_dquots(struct xfs_mount *mp, struct xfs_dquot *udqp,
>  		struct xfs_dquot *gdqp, struct xfs_dquot *pdqp,
> -		unsigned int eof_flags);
> -int xfs_blockgc_free_quota(struct xfs_inode *ip, unsigned int eof_flags);
> +		unsigned int iwalk_flags);
> +int xfs_blockgc_free_quota(struct xfs_inode *ip, unsigned int iwalk_flags);
>  int xfs_blockgc_free_space(struct xfs_mount *mp, struct xfs_eofblocks *eofb);
>  
>  void xfs_inode_set_eofblocks_tag(struct xfs_inode *ip);
> diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c
> index 1fe4c1fc0aea..c6450fd059f1 100644
> --- a/fs/xfs/xfs_ioctl.c
> +++ b/fs/xfs/xfs_ioctl.c
> @@ -1887,7 +1887,18 @@ xfs_fs_eofblocks_from_user(
>  	    memchr_inv(src->pad64, 0, sizeof(src->pad64)))
>  		return -EINVAL;
>  
> -	dst->eof_flags = src->eof_flags;
> +	dst->eof_flags = 0;
> +	if (src->eof_flags & XFS_EOF_FLAGS_SYNC)
> +		dst->eof_flags |= XFS_ICWALK_FLAG_SYNC;
> +	if (src->eof_flags & XFS_EOF_FLAGS_UID)
> +		dst->eof_flags |= XFS_ICWALK_FLAG_UID;
> +	if (src->eof_flags & XFS_EOF_FLAGS_GID)
> +		dst->eof_flags |= XFS_ICWALK_FLAG_GID;
> +	if (src->eof_flags & XFS_EOF_FLAGS_PRID)
> +		dst->eof_flags |= XFS_ICWALK_FLAG_PRID;
> +	if (src->eof_flags & XFS_EOF_FLAGS_MINFILESIZE)
> +		dst->eof_flags |= XFS_ICWALK_FLAG_MINFILESIZE;
> +
>  	dst->eof_prid = src->eof_prid;
>  	dst->eof_min_file_size = src->eof_min_file_size;
>  
>
diff mbox series

Patch

diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c
index c068dcd414f4..eb39c3777491 100644
--- a/fs/xfs/xfs_file.c
+++ b/fs/xfs/xfs_file.c
@@ -769,7 +769,7 @@  xfs_file_buffered_write(
 	 */
 	if (ret == -EDQUOT && !cleared_space) {
 		xfs_iunlock(ip, iolock);
-		xfs_blockgc_free_quota(ip, XFS_EOF_FLAGS_SYNC);
+		xfs_blockgc_free_quota(ip, XFS_ICWALK_FLAG_SYNC);
 		cleared_space = true;
 		goto write_retry;
 	} else if (ret == -ENOSPC && !cleared_space) {
@@ -779,7 +779,7 @@  xfs_file_buffered_write(
 		xfs_flush_inodes(ip->i_mount);
 
 		xfs_iunlock(ip, iolock);
-		eofb.eof_flags = XFS_EOF_FLAGS_SYNC;
+		eofb.eof_flags = XFS_ICWALK_FLAG_SYNC;
 		xfs_blockgc_free_space(ip->i_mount, &eofb);
 		goto write_retry;
 	}
diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c
index 53dab8959e1d..ce6ac32a0c29 100644
--- a/fs/xfs/xfs_icache.c
+++ b/fs/xfs/xfs_icache.c
@@ -62,7 +62,7 @@  static int xfs_icwalk_ag(struct xfs_perag *pag,
 
 /*
  * Private inode cache walk flags for struct xfs_eofblocks.  Must not coincide
- * with XFS_EOF_FLAGS_*.
+ * with XFS_ICWALK_FLAGS_VALID.
  */
 #define XFS_ICWALK_FLAG_DROP_UDQUOT	(1U << 31)
 #define XFS_ICWALK_FLAG_DROP_GDQUOT	(1U << 30)
@@ -72,12 +72,14 @@  static int xfs_icwalk_ag(struct xfs_perag *pag,
 #define XFS_ICWALK_FLAG_SCAN_LIMIT	(1U << 28)
 
 #define XFS_ICWALK_FLAG_RECLAIM_SICK	(1U << 27)
+#define XFS_ICWALK_FLAG_UNION		(1U << 26) /* union filter algorithm */
 
 #define XFS_ICWALK_PRIVATE_FLAGS	(XFS_ICWALK_FLAG_DROP_UDQUOT | \
 					 XFS_ICWALK_FLAG_DROP_GDQUOT | \
 					 XFS_ICWALK_FLAG_DROP_PDQUOT | \
 					 XFS_ICWALK_FLAG_SCAN_LIMIT | \
-					 XFS_ICWALK_FLAG_RECLAIM_SICK)
+					 XFS_ICWALK_FLAG_RECLAIM_SICK | \
+					 XFS_ICWALK_FLAG_UNION)
 
 /*
  * Allocate and initialise an xfs_inode.
@@ -1113,15 +1115,15 @@  xfs_inode_match_id(
 	struct xfs_inode	*ip,
 	struct xfs_eofblocks	*eofb)
 {
-	if ((eofb->eof_flags & XFS_EOF_FLAGS_UID) &&
+	if ((eofb->eof_flags & XFS_ICWALK_FLAG_UID) &&
 	    !uid_eq(VFS_I(ip)->i_uid, eofb->eof_uid))
 		return false;
 
-	if ((eofb->eof_flags & XFS_EOF_FLAGS_GID) &&
+	if ((eofb->eof_flags & XFS_ICWALK_FLAG_GID) &&
 	    !gid_eq(VFS_I(ip)->i_gid, eofb->eof_gid))
 		return false;
 
-	if ((eofb->eof_flags & XFS_EOF_FLAGS_PRID) &&
+	if ((eofb->eof_flags & XFS_ICWALK_FLAG_PRID) &&
 	    ip->i_projid != eofb->eof_prid)
 		return false;
 
@@ -1137,15 +1139,15 @@  xfs_inode_match_id_union(
 	struct xfs_inode	*ip,
 	struct xfs_eofblocks	*eofb)
 {
-	if ((eofb->eof_flags & XFS_EOF_FLAGS_UID) &&
+	if ((eofb->eof_flags & XFS_ICWALK_FLAG_UID) &&
 	    uid_eq(VFS_I(ip)->i_uid, eofb->eof_uid))
 		return true;
 
-	if ((eofb->eof_flags & XFS_EOF_FLAGS_GID) &&
+	if ((eofb->eof_flags & XFS_ICWALK_FLAG_GID) &&
 	    gid_eq(VFS_I(ip)->i_gid, eofb->eof_gid))
 		return true;
 
-	if ((eofb->eof_flags & XFS_EOF_FLAGS_PRID) &&
+	if ((eofb->eof_flags & XFS_ICWALK_FLAG_PRID) &&
 	    ip->i_projid == eofb->eof_prid)
 		return true;
 
@@ -1167,7 +1169,7 @@  xfs_inode_matches_eofb(
 	if (!eofb)
 		return true;
 
-	if (eofb->eof_flags & XFS_EOF_FLAGS_UNION)
+	if (eofb->eof_flags & XFS_ICWALK_FLAG_UNION)
 		match = xfs_inode_match_id_union(ip, eofb);
 	else
 		match = xfs_inode_match_id(ip, eofb);
@@ -1175,7 +1177,7 @@  xfs_inode_matches_eofb(
 		return false;
 
 	/* skip the inode if the file size is too small */
-	if ((eofb->eof_flags & XFS_EOF_FLAGS_MINFILESIZE) &&
+	if ((eofb->eof_flags & XFS_ICWALK_FLAG_MINFILESIZE) &&
 	    XFS_ISIZE(ip) < eofb->eof_min_file_size)
 		return false;
 
@@ -1207,7 +1209,7 @@  xfs_inode_free_eofblocks(
 {
 	bool			wait;
 
-	wait = eofb && (eofb->eof_flags & XFS_EOF_FLAGS_SYNC);
+	wait = eofb && (eofb->eof_flags & XFS_ICWALK_FLAG_SYNC);
 
 	if (!xfs_iflags_test(ip, XFS_IEOFBLOCKS))
 		return 0;
@@ -1370,7 +1372,7 @@  xfs_inode_free_cowblocks(
 	bool			wait;
 	int			ret = 0;
 
-	wait = eofb && (eofb->eof_flags & XFS_EOF_FLAGS_SYNC);
+	wait = eofb && (eofb->eof_flags & XFS_ICWALK_FLAG_SYNC);
 
 	if (!xfs_iflags_test(ip, XFS_ICOWBLOCKS))
 		return 0;
@@ -1560,7 +1562,7 @@  xfs_blockgc_free_space(
  * scan.
  *
  * Callers must not hold any inode's ILOCK.  If requesting a synchronous scan
- * (XFS_EOF_FLAGS_SYNC), the caller also must not hold any inode's IOLOCK or
+ * (XFS_ICWALK_FLAG_SYNC), the caller also must not hold any inode's IOLOCK or
  * MMAPLOCK.
  */
 int
@@ -1569,7 +1571,7 @@  xfs_blockgc_free_dquots(
 	struct xfs_dquot	*udqp,
 	struct xfs_dquot	*gdqp,
 	struct xfs_dquot	*pdqp,
-	unsigned int		eof_flags)
+	unsigned int		iwalk_flags)
 {
 	struct xfs_eofblocks	eofb = {0};
 	bool			do_work = false;
@@ -1581,23 +1583,23 @@  xfs_blockgc_free_dquots(
 	 * Run a scan to free blocks using the union filter to cover all
 	 * applicable quotas in a single scan.
 	 */
-	eofb.eof_flags = XFS_EOF_FLAGS_UNION | eof_flags;
+	eofb.eof_flags = XFS_ICWALK_FLAG_UNION | iwalk_flags;
 
 	if (XFS_IS_UQUOTA_ENFORCED(mp) && udqp && xfs_dquot_lowsp(udqp)) {
 		eofb.eof_uid = make_kuid(mp->m_super->s_user_ns, udqp->q_id);
-		eofb.eof_flags |= XFS_EOF_FLAGS_UID;
+		eofb.eof_flags |= XFS_ICWALK_FLAG_UID;
 		do_work = true;
 	}
 
 	if (XFS_IS_UQUOTA_ENFORCED(mp) && gdqp && xfs_dquot_lowsp(gdqp)) {
 		eofb.eof_gid = make_kgid(mp->m_super->s_user_ns, gdqp->q_id);
-		eofb.eof_flags |= XFS_EOF_FLAGS_GID;
+		eofb.eof_flags |= XFS_ICWALK_FLAG_GID;
 		do_work = true;
 	}
 
 	if (XFS_IS_PQUOTA_ENFORCED(mp) && pdqp && xfs_dquot_lowsp(pdqp)) {
 		eofb.eof_prid = pdqp->q_id;
-		eofb.eof_flags |= XFS_EOF_FLAGS_PRID;
+		eofb.eof_flags |= XFS_ICWALK_FLAG_PRID;
 		do_work = true;
 	}
 
@@ -1611,12 +1613,12 @@  xfs_blockgc_free_dquots(
 int
 xfs_blockgc_free_quota(
 	struct xfs_inode	*ip,
-	unsigned int		eof_flags)
+	unsigned int		iwalk_flags)
 {
 	return xfs_blockgc_free_dquots(ip->i_mount,
 			xfs_inode_dquot(ip, XFS_DQTYPE_USER),
 			xfs_inode_dquot(ip, XFS_DQTYPE_GROUP),
-			xfs_inode_dquot(ip, XFS_DQTYPE_PROJ), eof_flags);
+			xfs_inode_dquot(ip, XFS_DQTYPE_PROJ), iwalk_flags);
 }
 
 /* XFS Inode Cache Walking Code */
@@ -1836,5 +1838,5 @@  xfs_icwalk(
 		}
 	}
 	return last_error;
-	BUILD_BUG_ON(XFS_ICWALK_PRIVATE_FLAGS & XFS_EOF_FLAGS_VALID);
+	BUILD_BUG_ON(XFS_ICWALK_PRIVATE_FLAGS & XFS_ICWALK_FLAGS_VALID);
 }
diff --git a/fs/xfs/xfs_icache.h b/fs/xfs/xfs_icache.h
index 191620a069af..b29048c493b6 100644
--- a/fs/xfs/xfs_icache.h
+++ b/fs/xfs/xfs_icache.h
@@ -18,6 +18,19 @@  struct xfs_eofblocks {
 	int		icw_scan_limit;
 };
 
+/* Flags that reflect xfs_fs_eofblocks functionality. */
+#define XFS_ICWALK_FLAG_SYNC		(1U << 0) /* sync/wait mode scan */
+#define XFS_ICWALK_FLAG_UID		(1U << 1) /* filter by uid */
+#define XFS_ICWALK_FLAG_GID		(1U << 2) /* filter by gid */
+#define XFS_ICWALK_FLAG_PRID		(1U << 3) /* filter by project id */
+#define XFS_ICWALK_FLAG_MINFILESIZE	(1U << 4) /* filter by min file size */
+
+#define XFS_ICWALK_FLAGS_VALID		(XFS_ICWALK_FLAG_SYNC | \
+					 XFS_ICWALK_FLAG_UID | \
+					 XFS_ICWALK_FLAG_GID | \
+					 XFS_ICWALK_FLAG_PRID | \
+					 XFS_ICWALK_FLAG_MINFILESIZE)
+
 /*
  * Flags for xfs_iget()
  */
@@ -43,8 +56,8 @@  void xfs_inode_mark_reclaimable(struct xfs_inode *ip);
 
 int xfs_blockgc_free_dquots(struct xfs_mount *mp, struct xfs_dquot *udqp,
 		struct xfs_dquot *gdqp, struct xfs_dquot *pdqp,
-		unsigned int eof_flags);
-int xfs_blockgc_free_quota(struct xfs_inode *ip, unsigned int eof_flags);
+		unsigned int iwalk_flags);
+int xfs_blockgc_free_quota(struct xfs_inode *ip, unsigned int iwalk_flags);
 int xfs_blockgc_free_space(struct xfs_mount *mp, struct xfs_eofblocks *eofb);
 
 void xfs_inode_set_eofblocks_tag(struct xfs_inode *ip);
diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c
index 1fe4c1fc0aea..c6450fd059f1 100644
--- a/fs/xfs/xfs_ioctl.c
+++ b/fs/xfs/xfs_ioctl.c
@@ -1887,7 +1887,18 @@  xfs_fs_eofblocks_from_user(
 	    memchr_inv(src->pad64, 0, sizeof(src->pad64)))
 		return -EINVAL;
 
-	dst->eof_flags = src->eof_flags;
+	dst->eof_flags = 0;
+	if (src->eof_flags & XFS_EOF_FLAGS_SYNC)
+		dst->eof_flags |= XFS_ICWALK_FLAG_SYNC;
+	if (src->eof_flags & XFS_EOF_FLAGS_UID)
+		dst->eof_flags |= XFS_ICWALK_FLAG_UID;
+	if (src->eof_flags & XFS_EOF_FLAGS_GID)
+		dst->eof_flags |= XFS_ICWALK_FLAG_GID;
+	if (src->eof_flags & XFS_EOF_FLAGS_PRID)
+		dst->eof_flags |= XFS_ICWALK_FLAG_PRID;
+	if (src->eof_flags & XFS_EOF_FLAGS_MINFILESIZE)
+		dst->eof_flags |= XFS_ICWALK_FLAG_MINFILESIZE;
+
 	dst->eof_prid = src->eof_prid;
 	dst->eof_min_file_size = src->eof_min_file_size;