diff mbox series

[18/30] xfs: cleanup struct xfs_attr_list_context

Message ID 20200129170310.51370-19-hch@lst.de (mailing list archive)
State Superseded
Headers show
Series [01/30] xfs: reject invalid flags combinations in XFS_IOC_ATTRLIST_BY_HANDLE | expand

Commit Message

Christoph Hellwig Jan. 29, 2020, 5:02 p.m. UTC
Replace the alist char pointer with a void buffer given that different
callers use it in different ways.  Use the chance to remove the typedef
and reduce the indentation of the struct definition so that it doesn't
overflow 80 char lines all over.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
---
 fs/xfs/libxfs/xfs_attr.h | 34 +++++++++++++-------------
 fs/xfs/xfs_attr_list.c   | 53 ++++++++++++++++++++--------------------
 fs/xfs/xfs_trace.h       | 16 ++++++------
 fs/xfs/xfs_xattr.c       |  6 ++---
 4 files changed, 55 insertions(+), 54 deletions(-)

Comments

Chandan Rajendra Feb. 8, 2020, 3:53 p.m. UTC | #1
On Wednesday, January 29, 2020 10:32 PM Christoph Hellwig wrote: 
> Replace the alist char pointer with a void buffer given that different
> callers use it in different ways.  Use the chance to remove the typedef
> and reduce the indentation of the struct definition so that it doesn't
> overflow 80 char lines all over.
>

The behaviour of the code is logically the same as before.

Reviewed-by: Chandan Rajendra <chandanrlinux@gmail.com>


> Signed-off-by: Christoph Hellwig <hch@lst.de>
> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
> ---
>  fs/xfs/libxfs/xfs_attr.h | 34 +++++++++++++-------------
>  fs/xfs/xfs_attr_list.c   | 53 ++++++++++++++++++++--------------------
>  fs/xfs/xfs_trace.h       | 16 ++++++------
>  fs/xfs/xfs_xattr.c       |  6 ++---
>  4 files changed, 55 insertions(+), 54 deletions(-)
> 
> diff --git a/fs/xfs/libxfs/xfs_attr.h b/fs/xfs/libxfs/xfs_attr.h
> index 0f369399effd..0c8f7c7a6b65 100644
> --- a/fs/xfs/libxfs/xfs_attr.h
> +++ b/fs/xfs/libxfs/xfs_attr.h
> @@ -99,28 +99,28 @@ typedef struct attrlist_cursor_kern {
>  typedef void (*put_listent_func_t)(struct xfs_attr_list_context *, int,
>  			      unsigned char *, int, int);
> 
> -typedef struct xfs_attr_list_context {
> -	struct xfs_trans		*tp;
> -	struct xfs_inode		*dp;		/* inode */
> -	struct attrlist_cursor_kern	*cursor;	/* position in list */
> -	char				*alist;		/* output buffer */
> +struct xfs_attr_list_context {
> +	struct xfs_trans	*tp;
> +	struct xfs_inode	*dp;		/* inode */
> +	struct attrlist_cursor_kern *cursor;	/* position in list */
> +	void			*buffer;	/* output buffer */
> 
>  	/*
>  	 * Abort attribute list iteration if non-zero.  Can be used to pass
>  	 * error values to the xfs_attr_list caller.
>  	 */
> -	int				seen_enough;
> -	bool				allow_incomplete;
> -
> -	ssize_t				count;		/* num used entries */
> -	int				dupcnt;		/* count dup hashvals seen */
> -	int				bufsize;	/* total buffer size */
> -	int				firstu;		/* first used byte in buffer */
> -	int				flags;		/* from VOP call */
> -	int				resynch;	/* T/F: resynch with cursor */
> -	put_listent_func_t		put_listent;	/* list output fmt function */
> -	int				index;		/* index into output buffer */
> -} xfs_attr_list_context_t;
> +	int			seen_enough;
> +	bool			allow_incomplete;
> +
> +	ssize_t			count;		/* num used entries */
> +	int			dupcnt;		/* count dup hashvals seen */
> +	int			bufsize;	/* total buffer size */
> +	int			firstu;		/* first used byte in buffer */
> +	int			flags;		/* from VOP call */
> +	int			resynch;	/* T/F: resynch with cursor */
> +	put_listent_func_t	put_listent;	/* list output fmt function */
> +	int			index;		/* index into output buffer */
> +};
> 
> 
>  /*========================================================================
> diff --git a/fs/xfs/xfs_attr_list.c b/fs/xfs/xfs_attr_list.c
> index ac8dc64447d6..9c4acb6dc856 100644
> --- a/fs/xfs/xfs_attr_list.c
> +++ b/fs/xfs/xfs_attr_list.c
> @@ -488,10 +488,11 @@ xfs_attr3_leaf_list_int(
>   * Copy out attribute entries for attr_list(), for leaf attribute lists.
>   */
>  STATIC int
> -xfs_attr_leaf_list(xfs_attr_list_context_t *context)
> +xfs_attr_leaf_list(
> +	struct xfs_attr_list_context	*context)
>  {
> -	int error;
> -	struct xfs_buf *bp;
> +	struct xfs_buf			*bp;
> +	int				error;
> 
>  	trace_xfs_attr_leaf_list(context);
> 
> @@ -527,11 +528,11 @@ xfs_attr_list_int_ilocked(
> 
>  int
>  xfs_attr_list_int(
> -	xfs_attr_list_context_t *context)
> +	struct xfs_attr_list_context	*context)
>  {
> -	int error;
> -	xfs_inode_t *dp = context->dp;
> -	uint		lock_mode;
> +	struct xfs_inode		*dp = context->dp;
> +	uint				lock_mode;
> +	int				error;
> 
>  	XFS_STATS_INC(dp->i_mount, xs_attr_list);
> 
> @@ -557,15 +558,15 @@ xfs_attr_list_int(
>   */
>  STATIC void
>  xfs_attr_put_listent(
> -	xfs_attr_list_context_t *context,
> -	int		flags,
> -	unsigned char	*name,
> -	int		namelen,
> -	int		valuelen)
> +	struct xfs_attr_list_context	*context,
> +	int			flags,
> +	unsigned char		*name,
> +	int			namelen,
> +	int			valuelen)
>  {
> -	struct attrlist *alist = (struct attrlist *)context->alist;
> -	attrlist_ent_t *aep;
> -	int arraytop;
> +	struct attrlist		*alist = context->buffer;
> +	struct attrlist_ent	*aep;
> +	int			arraytop;
> 
>  	ASSERT(!context->seen_enough);
>  	ASSERT(context->count >= 0);
> @@ -593,7 +594,7 @@ xfs_attr_put_listent(
>  		return;
>  	}
> 
> -	aep = (attrlist_ent_t *)&context->alist[context->firstu];
> +	aep = context->buffer + context->firstu;
>  	aep->a_valuelen = valuelen;
>  	memcpy(aep->a_name, name, namelen);
>  	aep->a_name[namelen] = 0;
> @@ -612,15 +613,15 @@ xfs_attr_put_listent(
>   */
>  int
>  xfs_attr_list(
> -	xfs_inode_t	*dp,
> -	char		*buffer,
> -	int		bufsize,
> -	int		flags,
> -	attrlist_cursor_kern_t *cursor)
> +	struct xfs_inode		*dp,
> +	char				*buffer,
> +	int				bufsize,
> +	int				flags,
> +	struct attrlist_cursor_kern	*cursor)
>  {
> -	xfs_attr_list_context_t context;
> -	struct attrlist *alist;
> -	int error;
> +	struct xfs_attr_list_context	context;
> +	struct attrlist			*alist;
> +	int				error;
> 
>  	/*
>  	 * Validate the cursor.
> @@ -645,12 +646,12 @@ xfs_attr_list(
>  	context.cursor = cursor;
>  	context.resynch = 1;
>  	context.flags = flags;
> -	context.alist = buffer;
> +	context.buffer = buffer;
>  	context.bufsize = (bufsize & ~(sizeof(int)-1));  /* align */
>  	context.firstu = context.bufsize;
>  	context.put_listent = xfs_attr_put_listent;
> 
> -	alist = (struct attrlist *)context.alist;
> +	alist = context.buffer;
>  	alist->al_count = 0;
>  	alist->al_more = 0;
>  	alist->al_offset[0] = context.bufsize;
> diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h
> index a86be7f807ee..8358a92987f9 100644
> --- a/fs/xfs/xfs_trace.h
> +++ b/fs/xfs/xfs_trace.h
> @@ -45,7 +45,7 @@ DECLARE_EVENT_CLASS(xfs_attr_list_class,
>  		__field(u32, hashval)
>  		__field(u32, blkno)
>  		__field(u32, offset)
> -		__field(void *, alist)
> +		__field(void *, buffer)
>  		__field(int, bufsize)
>  		__field(int, count)
>  		__field(int, firstu)
> @@ -58,21 +58,21 @@ DECLARE_EVENT_CLASS(xfs_attr_list_class,
>  		__entry->hashval = ctx->cursor->hashval;
>  		__entry->blkno = ctx->cursor->blkno;
>  		__entry->offset = ctx->cursor->offset;
> -		__entry->alist = ctx->alist;
> +		__entry->buffer = ctx->buffer;
>  		__entry->bufsize = ctx->bufsize;
>  		__entry->count = ctx->count;
>  		__entry->firstu = ctx->firstu;
>  		__entry->flags = ctx->flags;
>  	),
>  	TP_printk("dev %d:%d ino 0x%llx cursor h/b/o 0x%x/0x%x/%u dupcnt %u "
> -		  "alist %p size %u count %u firstu %u flags %d %s",
> +		  "buffer %p size %u count %u firstu %u flags %d %s",
>  		  MAJOR(__entry->dev), MINOR(__entry->dev),
>  		   __entry->ino,
>  		   __entry->hashval,
>  		   __entry->blkno,
>  		   __entry->offset,
>  		   __entry->dupcnt,
> -		   __entry->alist,
> +		   __entry->buffer,
>  		   __entry->bufsize,
>  		   __entry->count,
>  		   __entry->firstu,
> @@ -169,7 +169,7 @@ TRACE_EVENT(xfs_attr_list_node_descend,
>  		__field(u32, hashval)
>  		__field(u32, blkno)
>  		__field(u32, offset)
> -		__field(void *, alist)
> +		__field(void *, buffer)
>  		__field(int, bufsize)
>  		__field(int, count)
>  		__field(int, firstu)
> @@ -184,7 +184,7 @@ TRACE_EVENT(xfs_attr_list_node_descend,
>  		__entry->hashval = ctx->cursor->hashval;
>  		__entry->blkno = ctx->cursor->blkno;
>  		__entry->offset = ctx->cursor->offset;
> -		__entry->alist = ctx->alist;
> +		__entry->buffer = ctx->buffer;
>  		__entry->bufsize = ctx->bufsize;
>  		__entry->count = ctx->count;
>  		__entry->firstu = ctx->firstu;
> @@ -193,7 +193,7 @@ TRACE_EVENT(xfs_attr_list_node_descend,
>  		__entry->bt_before = be32_to_cpu(btree->before);
>  	),
>  	TP_printk("dev %d:%d ino 0x%llx cursor h/b/o 0x%x/0x%x/%u dupcnt %u "
> -		  "alist %p size %u count %u firstu %u flags %d %s "
> +		  "buffer %p size %u count %u firstu %u flags %d %s "
>  		  "node hashval %u, node before %u",
>  		  MAJOR(__entry->dev), MINOR(__entry->dev),
>  		   __entry->ino,
> @@ -201,7 +201,7 @@ TRACE_EVENT(xfs_attr_list_node_descend,
>  		   __entry->blkno,
>  		   __entry->offset,
>  		   __entry->dupcnt,
> -		   __entry->alist,
> +		   __entry->buffer,
>  		   __entry->bufsize,
>  		   __entry->count,
>  		   __entry->firstu,
> diff --git a/fs/xfs/xfs_xattr.c b/fs/xfs/xfs_xattr.c
> index c9c44f8aebed..8880dee3400f 100644
> --- a/fs/xfs/xfs_xattr.c
> +++ b/fs/xfs/xfs_xattr.c
> @@ -132,7 +132,7 @@ __xfs_xattr_put_listent(
>  	if (context->count < 0 || context->seen_enough)
>  		return;
> 
> -	if (!context->alist)
> +	if (!context->buffer)
>  		goto compute_size;
> 
>  	arraytop = context->count + prefix_len + namelen + 1;
> @@ -141,7 +141,7 @@ __xfs_xattr_put_listent(
>  		context->seen_enough = 1;
>  		return;
>  	}
> -	offset = (char *)context->alist + context->count;
> +	offset = context->buffer + context->count;
>  	strncpy(offset, prefix, prefix_len);
>  	offset += prefix_len;
>  	strncpy(offset, (char *)name, namelen);			/* real name */
> @@ -227,7 +227,7 @@ xfs_vn_listxattr(
>  	context.dp = XFS_I(inode);
>  	context.cursor = &cursor;
>  	context.resynch = 1;
> -	context.alist = size ? data : NULL;
> +	context.buffer = size ? data : NULL;
>  	context.bufsize = size;
>  	context.firstu = context.bufsize;
>  	context.put_listent = xfs_xattr_put_listent;
>
diff mbox series

Patch

diff --git a/fs/xfs/libxfs/xfs_attr.h b/fs/xfs/libxfs/xfs_attr.h
index 0f369399effd..0c8f7c7a6b65 100644
--- a/fs/xfs/libxfs/xfs_attr.h
+++ b/fs/xfs/libxfs/xfs_attr.h
@@ -99,28 +99,28 @@  typedef struct attrlist_cursor_kern {
 typedef void (*put_listent_func_t)(struct xfs_attr_list_context *, int,
 			      unsigned char *, int, int);
 
-typedef struct xfs_attr_list_context {
-	struct xfs_trans		*tp;
-	struct xfs_inode		*dp;		/* inode */
-	struct attrlist_cursor_kern	*cursor;	/* position in list */
-	char				*alist;		/* output buffer */
+struct xfs_attr_list_context {
+	struct xfs_trans	*tp;
+	struct xfs_inode	*dp;		/* inode */
+	struct attrlist_cursor_kern *cursor;	/* position in list */
+	void			*buffer;	/* output buffer */
 
 	/*
 	 * Abort attribute list iteration if non-zero.  Can be used to pass
 	 * error values to the xfs_attr_list caller.
 	 */
-	int				seen_enough;
-	bool				allow_incomplete;
-
-	ssize_t				count;		/* num used entries */
-	int				dupcnt;		/* count dup hashvals seen */
-	int				bufsize;	/* total buffer size */
-	int				firstu;		/* first used byte in buffer */
-	int				flags;		/* from VOP call */
-	int				resynch;	/* T/F: resynch with cursor */
-	put_listent_func_t		put_listent;	/* list output fmt function */
-	int				index;		/* index into output buffer */
-} xfs_attr_list_context_t;
+	int			seen_enough;
+	bool			allow_incomplete;
+
+	ssize_t			count;		/* num used entries */
+	int			dupcnt;		/* count dup hashvals seen */
+	int			bufsize;	/* total buffer size */
+	int			firstu;		/* first used byte in buffer */
+	int			flags;		/* from VOP call */
+	int			resynch;	/* T/F: resynch with cursor */
+	put_listent_func_t	put_listent;	/* list output fmt function */
+	int			index;		/* index into output buffer */
+};
 
 
 /*========================================================================
diff --git a/fs/xfs/xfs_attr_list.c b/fs/xfs/xfs_attr_list.c
index ac8dc64447d6..9c4acb6dc856 100644
--- a/fs/xfs/xfs_attr_list.c
+++ b/fs/xfs/xfs_attr_list.c
@@ -488,10 +488,11 @@  xfs_attr3_leaf_list_int(
  * Copy out attribute entries for attr_list(), for leaf attribute lists.
  */
 STATIC int
-xfs_attr_leaf_list(xfs_attr_list_context_t *context)
+xfs_attr_leaf_list(
+	struct xfs_attr_list_context	*context)
 {
-	int error;
-	struct xfs_buf *bp;
+	struct xfs_buf			*bp;
+	int				error;
 
 	trace_xfs_attr_leaf_list(context);
 
@@ -527,11 +528,11 @@  xfs_attr_list_int_ilocked(
 
 int
 xfs_attr_list_int(
-	xfs_attr_list_context_t *context)
+	struct xfs_attr_list_context	*context)
 {
-	int error;
-	xfs_inode_t *dp = context->dp;
-	uint		lock_mode;
+	struct xfs_inode		*dp = context->dp;
+	uint				lock_mode;
+	int				error;
 
 	XFS_STATS_INC(dp->i_mount, xs_attr_list);
 
@@ -557,15 +558,15 @@  xfs_attr_list_int(
  */
 STATIC void
 xfs_attr_put_listent(
-	xfs_attr_list_context_t *context,
-	int		flags,
-	unsigned char	*name,
-	int		namelen,
-	int		valuelen)
+	struct xfs_attr_list_context	*context,
+	int			flags,
+	unsigned char		*name,
+	int			namelen,
+	int			valuelen)
 {
-	struct attrlist *alist = (struct attrlist *)context->alist;
-	attrlist_ent_t *aep;
-	int arraytop;
+	struct attrlist		*alist = context->buffer;
+	struct attrlist_ent	*aep;
+	int			arraytop;
 
 	ASSERT(!context->seen_enough);
 	ASSERT(context->count >= 0);
@@ -593,7 +594,7 @@  xfs_attr_put_listent(
 		return;
 	}
 
-	aep = (attrlist_ent_t *)&context->alist[context->firstu];
+	aep = context->buffer + context->firstu;
 	aep->a_valuelen = valuelen;
 	memcpy(aep->a_name, name, namelen);
 	aep->a_name[namelen] = 0;
@@ -612,15 +613,15 @@  xfs_attr_put_listent(
  */
 int
 xfs_attr_list(
-	xfs_inode_t	*dp,
-	char		*buffer,
-	int		bufsize,
-	int		flags,
-	attrlist_cursor_kern_t *cursor)
+	struct xfs_inode		*dp,
+	char				*buffer,
+	int				bufsize,
+	int				flags,
+	struct attrlist_cursor_kern	*cursor)
 {
-	xfs_attr_list_context_t context;
-	struct attrlist *alist;
-	int error;
+	struct xfs_attr_list_context	context;
+	struct attrlist			*alist;
+	int				error;
 
 	/*
 	 * Validate the cursor.
@@ -645,12 +646,12 @@  xfs_attr_list(
 	context.cursor = cursor;
 	context.resynch = 1;
 	context.flags = flags;
-	context.alist = buffer;
+	context.buffer = buffer;
 	context.bufsize = (bufsize & ~(sizeof(int)-1));  /* align */
 	context.firstu = context.bufsize;
 	context.put_listent = xfs_attr_put_listent;
 
-	alist = (struct attrlist *)context.alist;
+	alist = context.buffer;
 	alist->al_count = 0;
 	alist->al_more = 0;
 	alist->al_offset[0] = context.bufsize;
diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h
index a86be7f807ee..8358a92987f9 100644
--- a/fs/xfs/xfs_trace.h
+++ b/fs/xfs/xfs_trace.h
@@ -45,7 +45,7 @@  DECLARE_EVENT_CLASS(xfs_attr_list_class,
 		__field(u32, hashval)
 		__field(u32, blkno)
 		__field(u32, offset)
-		__field(void *, alist)
+		__field(void *, buffer)
 		__field(int, bufsize)
 		__field(int, count)
 		__field(int, firstu)
@@ -58,21 +58,21 @@  DECLARE_EVENT_CLASS(xfs_attr_list_class,
 		__entry->hashval = ctx->cursor->hashval;
 		__entry->blkno = ctx->cursor->blkno;
 		__entry->offset = ctx->cursor->offset;
-		__entry->alist = ctx->alist;
+		__entry->buffer = ctx->buffer;
 		__entry->bufsize = ctx->bufsize;
 		__entry->count = ctx->count;
 		__entry->firstu = ctx->firstu;
 		__entry->flags = ctx->flags;
 	),
 	TP_printk("dev %d:%d ino 0x%llx cursor h/b/o 0x%x/0x%x/%u dupcnt %u "
-		  "alist %p size %u count %u firstu %u flags %d %s",
+		  "buffer %p size %u count %u firstu %u flags %d %s",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		   __entry->ino,
 		   __entry->hashval,
 		   __entry->blkno,
 		   __entry->offset,
 		   __entry->dupcnt,
-		   __entry->alist,
+		   __entry->buffer,
 		   __entry->bufsize,
 		   __entry->count,
 		   __entry->firstu,
@@ -169,7 +169,7 @@  TRACE_EVENT(xfs_attr_list_node_descend,
 		__field(u32, hashval)
 		__field(u32, blkno)
 		__field(u32, offset)
-		__field(void *, alist)
+		__field(void *, buffer)
 		__field(int, bufsize)
 		__field(int, count)
 		__field(int, firstu)
@@ -184,7 +184,7 @@  TRACE_EVENT(xfs_attr_list_node_descend,
 		__entry->hashval = ctx->cursor->hashval;
 		__entry->blkno = ctx->cursor->blkno;
 		__entry->offset = ctx->cursor->offset;
-		__entry->alist = ctx->alist;
+		__entry->buffer = ctx->buffer;
 		__entry->bufsize = ctx->bufsize;
 		__entry->count = ctx->count;
 		__entry->firstu = ctx->firstu;
@@ -193,7 +193,7 @@  TRACE_EVENT(xfs_attr_list_node_descend,
 		__entry->bt_before = be32_to_cpu(btree->before);
 	),
 	TP_printk("dev %d:%d ino 0x%llx cursor h/b/o 0x%x/0x%x/%u dupcnt %u "
-		  "alist %p size %u count %u firstu %u flags %d %s "
+		  "buffer %p size %u count %u firstu %u flags %d %s "
 		  "node hashval %u, node before %u",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		   __entry->ino,
@@ -201,7 +201,7 @@  TRACE_EVENT(xfs_attr_list_node_descend,
 		   __entry->blkno,
 		   __entry->offset,
 		   __entry->dupcnt,
-		   __entry->alist,
+		   __entry->buffer,
 		   __entry->bufsize,
 		   __entry->count,
 		   __entry->firstu,
diff --git a/fs/xfs/xfs_xattr.c b/fs/xfs/xfs_xattr.c
index c9c44f8aebed..8880dee3400f 100644
--- a/fs/xfs/xfs_xattr.c
+++ b/fs/xfs/xfs_xattr.c
@@ -132,7 +132,7 @@  __xfs_xattr_put_listent(
 	if (context->count < 0 || context->seen_enough)
 		return;
 
-	if (!context->alist)
+	if (!context->buffer)
 		goto compute_size;
 
 	arraytop = context->count + prefix_len + namelen + 1;
@@ -141,7 +141,7 @@  __xfs_xattr_put_listent(
 		context->seen_enough = 1;
 		return;
 	}
-	offset = (char *)context->alist + context->count;
+	offset = context->buffer + context->count;
 	strncpy(offset, prefix, prefix_len);
 	offset += prefix_len;
 	strncpy(offset, (char *)name, namelen);			/* real name */
@@ -227,7 +227,7 @@  xfs_vn_listxattr(
 	context.dp = XFS_I(inode);
 	context.cursor = &cursor;
 	context.resynch = 1;
-	context.alist = size ? data : NULL;
+	context.buffer = size ? data : NULL;
 	context.bufsize = size;
 	context.firstu = context.bufsize;
 	context.put_listent = xfs_xattr_put_listent;