All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chandan Babu R <chandan.babu@oracle.com>
To: Dave Chinner <david@fromorbit.com>
Cc: linux-xfs@vger.kernel.org
Subject: Re: [PATCH 05/17] xfs: convert bmapi flags to unsigned.
Date: Mon, 11 Apr 2022 18:23:31 +0530	[thread overview]
Message-ID: <87h76zvl10.fsf@debian-BULLSEYE-live-builder-AMD64> (raw)
In-Reply-To: <20220411003147.2104423-6-david@fromorbit.com>

On 11 Apr 2022 at 06:01, Dave Chinner wrote:
> From: Dave Chinner <dchinner@redhat.com>
>
> 5.18 w/ std=gnu11 compiled with gcc-5 wants flags stored in unsigned
> fields to be unsigned.
>

The fourth argument of xfs_itruncate_extents_flags() and the return type of
xfs_bmapi_aflag() must be unsigned int.

Also, the data type of bmapi_flags variable in xfs_iomap_write_direct() and
xfs_fs_map_blocks() should be unsigned int.

The remaining changes look good to me.

Reviewed-by: Chandan Babu R <chandan.babu@oracle.com>

> Signed-off-by: Dave Chinner <dchinner@redhat.com>
> ---
>  fs/xfs/libxfs/xfs_bmap.c | 22 +++++++++++-----------
>  fs/xfs/libxfs/xfs_bmap.h | 36 ++++++++++++++++++------------------
>  2 files changed, 29 insertions(+), 29 deletions(-)
>
> diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c
> index d53dfe8db8f2..ad938e6e23aa 100644
> --- a/fs/xfs/libxfs/xfs_bmap.c
> +++ b/fs/xfs/libxfs/xfs_bmap.c
> @@ -485,7 +485,7 @@ STATIC void
>  xfs_bmap_validate_ret(
>  	xfs_fileoff_t		bno,
>  	xfs_filblks_t		len,
> -	int			flags,
> +	uint32_t		flags,
>  	xfs_bmbt_irec_t		*mval,
>  	int			nmap,
>  	int			ret_nmap)
> @@ -2616,7 +2616,7 @@ xfs_bmap_add_extent_hole_real(
>  	struct xfs_btree_cur	**curp,
>  	struct xfs_bmbt_irec	*new,
>  	int			*logflagsp,
> -	int			flags)
> +	uint32_t		flags)
>  {
>  	struct xfs_ifork	*ifp = XFS_IFORK_PTR(ip, whichfork);
>  	struct xfs_mount	*mp = ip->i_mount;
> @@ -3766,7 +3766,7 @@ xfs_bmapi_trim_map(
>  	xfs_fileoff_t		obno,
>  	xfs_fileoff_t		end,
>  	int			n,
> -	int			flags)
> +	uint32_t		flags)
>  {
>  	if ((flags & XFS_BMAPI_ENTIRE) ||
>  	    got->br_startoff + got->br_blockcount <= obno) {
> @@ -3811,7 +3811,7 @@ xfs_bmapi_update_map(
>  	xfs_fileoff_t		obno,
>  	xfs_fileoff_t		end,
>  	int			*n,
> -	int			flags)
> +	uint32_t		flags)
>  {
>  	xfs_bmbt_irec_t	*mval = *map;
>  
> @@ -3864,7 +3864,7 @@ xfs_bmapi_read(
>  	xfs_filblks_t		len,
>  	struct xfs_bmbt_irec	*mval,
>  	int			*nmap,
> -	int			flags)
> +	uint32_t		flags)
>  {
>  	struct xfs_mount	*mp = ip->i_mount;
>  	int			whichfork = xfs_bmapi_whichfork(flags);
> @@ -4184,7 +4184,7 @@ xfs_bmapi_convert_unwritten(
>  	struct xfs_bmalloca	*bma,
>  	struct xfs_bmbt_irec	*mval,
>  	xfs_filblks_t		len,
> -	int			flags)
> +	uint32_t		flags)
>  {
>  	int			whichfork = xfs_bmapi_whichfork(flags);
>  	struct xfs_ifork	*ifp = XFS_IFORK_PTR(bma->ip, whichfork);
> @@ -4312,7 +4312,7 @@ xfs_bmapi_write(
>  	struct xfs_inode	*ip,		/* incore inode */
>  	xfs_fileoff_t		bno,		/* starting file offs. mapped */
>  	xfs_filblks_t		len,		/* length to map in file */
> -	int			flags,		/* XFS_BMAPI_... */
> +	uint32_t		flags,		/* XFS_BMAPI_... */
>  	xfs_extlen_t		total,		/* total blocks needed */
>  	struct xfs_bmbt_irec	*mval,		/* output: map values */
>  	int			*nmap)		/* i/o: mval size/count */
> @@ -4629,7 +4629,7 @@ xfs_bmapi_remap(
>  	xfs_fileoff_t		bno,
>  	xfs_filblks_t		len,
>  	xfs_fsblock_t		startblock,
> -	int			flags)
> +	uint32_t		flags)
>  {
>  	struct xfs_mount	*mp = ip->i_mount;
>  	struct xfs_ifork	*ifp;
> @@ -4999,7 +4999,7 @@ xfs_bmap_del_extent_real(
>  	xfs_bmbt_irec_t		*del,	/* data to remove from extents */
>  	int			*logflagsp, /* inode logging flags */
>  	int			whichfork, /* data or attr fork */
> -	int			bflags)	/* bmapi flags */
> +	uint32_t		bflags)	/* bmapi flags */
>  {
>  	xfs_fsblock_t		del_endblock=0;	/* first block past del */
>  	xfs_fileoff_t		del_endoff;	/* first offset past del */
> @@ -5281,7 +5281,7 @@ __xfs_bunmapi(
>  	struct xfs_inode	*ip,		/* incore inode */
>  	xfs_fileoff_t		start,		/* first file offset deleted */
>  	xfs_filblks_t		*rlen,		/* i/o: amount remaining */
> -	int			flags,		/* misc flags */
> +	uint32_t		flags,		/* misc flags */
>  	xfs_extnum_t		nexts)		/* number of extents max */
>  {
>  	struct xfs_btree_cur	*cur;		/* bmap btree cursor */
> @@ -5609,7 +5609,7 @@ xfs_bunmapi(
>  	struct xfs_inode	*ip,
>  	xfs_fileoff_t		bno,
>  	xfs_filblks_t		len,
> -	int			flags,
> +	uint32_t		flags,
>  	xfs_extnum_t		nexts,
>  	int			*done)
>  {
> diff --git a/fs/xfs/libxfs/xfs_bmap.h b/fs/xfs/libxfs/xfs_bmap.h
> index 29d38c3c2607..16db95b11589 100644
> --- a/fs/xfs/libxfs/xfs_bmap.h
> +++ b/fs/xfs/libxfs/xfs_bmap.h
> @@ -39,7 +39,7 @@ struct xfs_bmalloca {
>  	bool			aeof;	/* allocated space at eof */
>  	bool			conv;	/* overwriting unwritten extents */
>  	int			datatype;/* data type being allocated */
> -	int			flags;
> +	uint32_t		flags;
>  };
>  
>  #define	XFS_BMAP_MAX_NMAP	4
> @@ -47,17 +47,17 @@ struct xfs_bmalloca {
>  /*
>   * Flags for xfs_bmapi_*
>   */
> -#define XFS_BMAPI_ENTIRE	0x001	/* return entire extent, not trimmed */
> -#define XFS_BMAPI_METADATA	0x002	/* mapping metadata not user data */
> -#define XFS_BMAPI_ATTRFORK	0x004	/* use attribute fork not data */
> -#define XFS_BMAPI_PREALLOC	0x008	/* preallocation op: unwritten space */
> -#define XFS_BMAPI_CONTIG	0x020	/* must allocate only one extent */
> +#define XFS_BMAPI_ENTIRE	(1u << 0) /* return entire extent untrimmed */
> +#define XFS_BMAPI_METADATA	(1u << 1) /* mapping metadata not user data */
> +#define XFS_BMAPI_ATTRFORK	(1u << 2) /* use attribute fork not data */
> +#define XFS_BMAPI_PREALLOC	(1u << 3) /* preallocating unwritten space */
> +#define XFS_BMAPI_CONTIG	(1u << 4) /* must allocate only one extent */
>  /*
>   * unwritten extent conversion - this needs write cache flushing and no additional
>   * allocation alignments. When specified with XFS_BMAPI_PREALLOC it converts
>   * from written to unwritten, otherwise convert from unwritten to written.
>   */
> -#define XFS_BMAPI_CONVERT	0x040
> +#define XFS_BMAPI_CONVERT	(1u << 5)
>  
>  /*
>   * allocate zeroed extents - this requires all newly allocated user data extents
> @@ -65,7 +65,7 @@ struct xfs_bmalloca {
>   * Use in conjunction with XFS_BMAPI_CONVERT to convert unwritten extents found
>   * during the allocation range to zeroed written extents.
>   */
> -#define XFS_BMAPI_ZERO		0x080
> +#define XFS_BMAPI_ZERO		(1u << 6)
>  
>  /*
>   * Map the inode offset to the block given in ap->firstblock.  Primarily
> @@ -75,16 +75,16 @@ struct xfs_bmalloca {
>   * For bunmapi, this flag unmaps the range without adjusting quota, reducing
>   * refcount, or freeing the blocks.
>   */
> -#define XFS_BMAPI_REMAP		0x100
> +#define XFS_BMAPI_REMAP		(1u << 7)
>  
>  /* Map something in the CoW fork. */
> -#define XFS_BMAPI_COWFORK	0x200
> +#define XFS_BMAPI_COWFORK	(1u << 8)
>  
>  /* Skip online discard of freed extents */
> -#define XFS_BMAPI_NODISCARD	0x1000
> +#define XFS_BMAPI_NODISCARD	(1u << 9)
>  
>  /* Do not update the rmap btree.  Used for reconstructing bmbt from rmapbt. */
> -#define XFS_BMAPI_NORMAP	0x2000
> +#define XFS_BMAPI_NORMAP	(1u << 10)
>  
>  #define XFS_BMAPI_FLAGS \
>  	{ XFS_BMAPI_ENTIRE,	"ENTIRE" }, \
> @@ -106,7 +106,7 @@ static inline int xfs_bmapi_aflag(int w)
>  	       (w == XFS_COW_FORK ? XFS_BMAPI_COWFORK : 0));
>  }
>  
> -static inline int xfs_bmapi_whichfork(int bmapi_flags)
> +static inline int xfs_bmapi_whichfork(uint32_t bmapi_flags)
>  {
>  	if (bmapi_flags & XFS_BMAPI_COWFORK)
>  		return XFS_COW_FORK;
> @@ -183,15 +183,15 @@ int	xfs_bmap_last_offset(struct xfs_inode *ip, xfs_fileoff_t *unused,
>  		int whichfork);
>  int	xfs_bmapi_read(struct xfs_inode *ip, xfs_fileoff_t bno,
>  		xfs_filblks_t len, struct xfs_bmbt_irec *mval,
> -		int *nmap, int flags);
> +		int *nmap, uint32_t flags);
>  int	xfs_bmapi_write(struct xfs_trans *tp, struct xfs_inode *ip,
> -		xfs_fileoff_t bno, xfs_filblks_t len, int flags,
> +		xfs_fileoff_t bno, xfs_filblks_t len, uint32_t flags,
>  		xfs_extlen_t total, struct xfs_bmbt_irec *mval, int *nmap);
>  int	__xfs_bunmapi(struct xfs_trans *tp, struct xfs_inode *ip,
> -		xfs_fileoff_t bno, xfs_filblks_t *rlen, int flags,
> +		xfs_fileoff_t bno, xfs_filblks_t *rlen, uint32_t flags,
>  		xfs_extnum_t nexts);
>  int	xfs_bunmapi(struct xfs_trans *tp, struct xfs_inode *ip,
> -		xfs_fileoff_t bno, xfs_filblks_t len, int flags,
> +		xfs_fileoff_t bno, xfs_filblks_t len, uint32_t flags,
>  		xfs_extnum_t nexts, int *done);
>  int	xfs_bmap_del_extent_delay(struct xfs_inode *ip, int whichfork,
>  		struct xfs_iext_cursor *cur, struct xfs_bmbt_irec *got,
> @@ -260,7 +260,7 @@ xfs_failaddr_t xfs_bmap_validate_extent(struct xfs_inode *ip, int whichfork,
>  
>  int	xfs_bmapi_remap(struct xfs_trans *tp, struct xfs_inode *ip,
>  		xfs_fileoff_t bno, xfs_filblks_t len, xfs_fsblock_t startblock,
> -		int flags);
> +		uint32_t flags);
>  
>  extern struct kmem_cache	*xfs_bmap_intent_cache;


-- 
chandan

  reply	other threads:[~2022-04-11 12:53 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-11  0:31 [PATCH 00/17] xfs: unsigned flags conversion for c11 Dave Chinner
2022-04-11  0:31 ` [PATCH 01/17] xfs: convert buffer flags to unsigned Dave Chinner
2022-04-11 10:05   ` Chandan Babu R
2022-04-11  0:31 ` [PATCH 02/17] xfs: convert attr type " Dave Chinner
2022-04-11 10:23   ` Chandan Babu R
2022-04-11  0:31 ` [PATCH 03/17] xfs: convert scrub " Dave Chinner
2022-04-11 10:33   ` Chandan Babu R
2022-04-11  0:31 ` [PATCH 04/17] xfs: convert bmap extent " Dave Chinner
2022-04-11 10:42   ` Chandan Babu R
2022-04-11  0:31 ` [PATCH 05/17] xfs: convert bmapi " Dave Chinner
2022-04-11 12:53   ` Chandan Babu R [this message]
2022-04-11 13:44     ` Chandan Babu R
2022-04-11  0:31 ` [PATCH 06/17] xfs: convert AGF log " Dave Chinner
2022-04-11 13:27   ` Chandan Babu R
2022-04-11  0:31 ` [PATCH 07/17] xfs: convert AGI " Dave Chinner
2022-04-11 13:49   ` Chandan Babu R
2022-04-11  0:31 ` [PATCH 08/17] xfs: convert btree buffer " Dave Chinner
2022-04-11 14:03   ` Chandan Babu R
2022-04-11  0:31 ` [PATCH 09/17] xfs: convert buffer log item " Dave Chinner
2022-04-12  7:25   ` Chandan Babu R
2022-04-11  0:31 ` [PATCH 10/17] xfs: convert da btree operations " Dave Chinner
2022-04-12  7:25   ` Chandan Babu R
2022-04-11  0:31 ` [PATCH 11/17] xfs: convert dquot " Dave Chinner
2022-04-12  7:26   ` Chandan Babu R
2022-04-11  0:31 ` [PATCH 12/17] xfs: convert log item tracepoint " Dave Chinner
2022-04-12  7:26   ` Chandan Babu R
2022-04-11  0:31 ` [PATCH 13/17] xfs: convert inode lock " Dave Chinner
2022-04-12  7:26   ` Chandan Babu R
2022-04-12  8:43     ` Dave Chinner
2022-04-21  0:44       ` [PATCH 13/17 v2] " Dave Chinner
2022-04-21  3:07         ` Alli
2022-04-21  9:15         ` Chandan Babu R
2022-04-11  0:31 ` [PATCH 14/17] xfs: convert ptag " Dave Chinner
2022-04-12  7:26   ` Chandan Babu R
2022-04-11  0:31 ` [PATCH 15/17] xfs: convert quota options " Dave Chinner
2022-04-12  7:26   ` Chandan Babu R
2022-04-11  0:31 ` [PATCH 16/17] xfs: convert shutdown reasons " Dave Chinner
2022-04-12  7:27   ` Chandan Babu R
2022-04-11  0:31 ` [PATCH 17/17] xfs: convert log ticket and iclog flags " Dave Chinner
2022-04-12  7:27   ` Chandan Babu R

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87h76zvl10.fsf@debian-BULLSEYE-live-builder-AMD64 \
    --to=chandan.babu@oracle.com \
    --cc=david@fromorbit.com \
    --cc=linux-xfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.