xfs: cleanup struct xfs_attr_list_context
authorChristoph Hellwig <hch@lst.de>
Thu, 27 Feb 2020 01:30:37 +0000 (17:30 -0800)
committerDarrick J. Wong <darrick.wong@oracle.com>
Tue, 3 Mar 2020 04:55:54 +0000 (20:55 -0800)
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: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Chandan Rajendra <chandanrlinux@gmail.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/libxfs/xfs_attr.h
fs/xfs/xfs_attr_list.c
fs/xfs/xfs_trace.h
fs/xfs/xfs_xattr.c

index 0f36939..0c8f7c7 100644 (file)
@@ -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 */
+};
 
 
 /*========================================================================
index b430521..0fe1247 100644 (file)
@@ -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;
index e242988..43b1b03 100644 (file)
@@ -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,
index 05c1d6d..b5f2831 100644 (file)
@@ -134,7 +134,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;
@@ -143,7 +143,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 */
@@ -229,7 +229,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;