public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Andrey Albershteyn <aalbersh@kernel.org>
Cc: linux-xfs@vger.kernel.org
Subject: [PATCH 08/25] logprint: cleanup xlog_print_trans_buffer
Date: Fri, 28 Nov 2025 07:29:45 +0100	[thread overview]
Message-ID: <20251128063007.1495036-9-hch@lst.de> (raw)
In-Reply-To: <20251128063007.1495036-1-hch@lst.de>

Re-indent, drop typedefs and invert a conditional to allow for an early
return.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 logprint/log_misc.c | 142 +++++++++++++++++++++++---------------------
 1 file changed, 75 insertions(+), 67 deletions(-)

diff --git a/logprint/log_misc.c b/logprint/log_misc.c
index a47b955c4204..533f57bdfc36 100644
--- a/logprint/log_misc.c
+++ b/logprint/log_misc.c
@@ -422,84 +422,92 @@ xlog_print_buf_data(
 }
 
 static int
-xlog_print_trans_buffer(char **ptr, int len, int *i, int num_ops)
+xlog_print_trans_buffer(
+	char			**ptr,
+	int			len,
+	int			*i,
+	int			num_ops)
 {
-    xfs_buf_log_format_t *f;
-    xlog_op_header_t	 *head = NULL;
-    int			 num, skip;
-    int			 super_block = 0;
-    int64_t			 blkno;
-    xfs_buf_log_format_t lbuf;
-    int			 size, blen, map_size, struct_size;
-    unsigned short	 flags;
+	struct xfs_buf_log_format blf;
+	struct xlog_op_header	*ophdr = NULL;
+	int			num, skip;
+	int			super_block = 0;
+	int64_t			blkno;
+	int			size, blen, map_size, struct_size;
+	unsigned short		flags;
 
-    /*
-     * memmove to ensure 8-byte alignment for the long longs in
-     * buf_log_format_t structure
-     */
-    memmove(&lbuf, *ptr, min(sizeof(xfs_buf_log_format_t), len));
-    f = &lbuf;
-    *ptr += len;
-
-    ASSERT(f->blf_type == XFS_LI_BUF);
-    printf("BUF:  ");
-    blkno = f->blf_blkno;
-    size = f->blf_size;
-    blen = f->blf_len;
-    map_size = f->blf_map_size;
-    flags = f->blf_flags;
+	/*
+	 * memmove to ensure 8-byte alignment for the long longs in
+	 * struct xfs_buf_log_format.
+	 */
+	memmove(&blf, *ptr, min(sizeof(blf), len));
+	*ptr += len;
 
-    /*
-     * size of the format header is dependent on the size of the bitmap, not
-     * the size of the in-memory structure. Hence the slightly obtuse
-     * calculation.
-     */
-    struct_size = offsetof(struct xfs_buf_log_format, blf_map_size) + map_size;
+	ASSERT(blf.blf_type == XFS_LI_BUF);
+	printf("BUF:  ");
+	blkno = blf.blf_blkno;
+	size = blf.blf_size;
+	blen = blf.blf_len;
+	map_size = blf.blf_map_size;
+	flags = blf.blf_flags;
 
-    if (len >= struct_size) {
+	/*
+	 * size of the format header is dependent on the size of the bitmap, not
+	 * the size of the in-memory structure. Hence the slightly obtuse
+	 * calculation.
+	 */
+	struct_size = offsetof(struct xfs_buf_log_format, blf_map_size) +
+			map_size;
+	if (len < struct_size) {
+		ASSERT(len >= 4);	/* must have at least 4 bytes if != 0 */
+		printf(_("#regs: %d   Not printing rest of data\n"), blf.blf_size);
+		return size;
+	}
 	ASSERT((len - sizeof(struct_size)) % sizeof(int) == 0);
 	printf(_("#regs: %d   start blkno: %lld (0x%llx)  len: %d  bmap size: %d  flags: 0x%x\n"),
-	       size, (long long)blkno, (unsigned long long)blkno, blen, map_size, flags);
+		size,
+		(long long)blkno,
+		(unsigned long long)blkno,
+		blen,
+		map_size,
+		flags);
+
 	if (blkno == 0)
-	    super_block = 1;
-    } else {
-	ASSERT(len >= 4);	/* must have at least 4 bytes if != 0 */
-	printf(_("#regs: %d   Not printing rest of data\n"), f->blf_size);
-	return size;
-    }
-    num = size-1;
+		super_block = 1;
 
-    /* Check if all regions in this log item were in the given LR ptr */
-    if (*i+num > num_ops-1) {
-	skip = num - (num_ops-1-*i);
-	num = num_ops-1-*i;
-    } else {
-	skip = 0;
-    }
-    while (num-- > 0) {
-	(*i)++;
-	head = (xlog_op_header_t *)*ptr;
-	xlog_print_op_header(head, *i, ptr);
-	if (super_block) {
-		xlog_print_sb_buf(head, *ptr);
-		super_block = 0;
-	} else if (be32_to_cpu(*(__be32 *)(*ptr)) == XFS_AGI_MAGIC) {
-		if (!xlog_print_agi_buf(head, *ptr))
-			continue;
-	} else if (be32_to_cpu(*(__be32 *)(*ptr)) == XFS_AGF_MAGIC) {
-		xlog_print_agf_buf(head, *ptr);
-	} else if (be32_to_cpu(*(__be32 *)(*ptr)) == XFS_DQUOT_MAGIC) {
-		xlog_print_dquot_buf(head, *ptr);
+	/* Check if all regions in this log item were in the given LR ptr */
+	num = size-1;
+	if (*i + num > num_ops - 1) {
+		skip = num - (num_ops - 1 - *i);
+		num = num_ops - 1 - *i;
 	} else {
-		xlog_print_buf_data(head, *ptr);
+		skip = 0;
 	}
-	*ptr += be32_to_cpu(head->oh_len);
-    }
-    if (head && head->oh_flags & XLOG_CONTINUE_TRANS)
-	skip++;
-    return skip;
-}	/* xlog_print_trans_buffer */
 
+	while (num-- > 0) {
+		(*i)++;
+		ophdr = (struct xlog_op_header *)*ptr;
+		xlog_print_op_header(ophdr, *i, ptr);
+		if (super_block) {
+			xlog_print_sb_buf(ophdr, *ptr);
+			super_block = 0;
+		} else if (be32_to_cpu(*(__be32 *)(*ptr)) == XFS_AGI_MAGIC) {
+			if (!xlog_print_agi_buf(ophdr, *ptr))
+				continue;
+		} else if (be32_to_cpu(*(__be32 *)(*ptr)) == XFS_AGF_MAGIC) {
+			xlog_print_agf_buf(ophdr, *ptr);
+		} else if (be32_to_cpu(*(__be32 *)(*ptr)) == XFS_DQUOT_MAGIC) {
+			xlog_print_dquot_buf(ophdr, *ptr);
+		} else {
+			xlog_print_buf_data(ophdr, *ptr);
+		}
+		*ptr += be32_to_cpu(ophdr->oh_len);
+	}
+
+	if (ophdr && ophdr->oh_flags & XLOG_CONTINUE_TRANS)
+		skip++;
+	return skip;
+}
 
 static int
 xlog_print_trans_qoff(char **ptr, uint len)
-- 
2.47.3


  parent reply	other threads:[~2025-11-28  6:31 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-28  6:29 logprint cleanups, part1 Christoph Hellwig
2025-11-28  6:29 ` [PATCH 01/25] include: remove struct xfs_qoff_logitem Christoph Hellwig
2025-11-28  6:29 ` [PATCH 02/25] logprint: remove xlog_print_dir2_sf Christoph Hellwig
2025-11-28  6:29 ` [PATCH 03/25] logprint: re-indent printing helpers Christoph Hellwig
2025-11-28  6:29 ` [PATCH 04/25] logprint: cleanup xlog_print_op_header Christoph Hellwig
2025-11-28  6:29 ` [PATCH 05/25] logprint: cleanup struct xlog_split_item handling Christoph Hellwig
2025-11-28  6:29 ` [PATCH 06/25] logprint: cleanup xlog_print_trans_header Christoph Hellwig
2025-11-28  6:29 ` [PATCH 07/25] logprint: split per-type helpers out of xlog_print_trans_buffer Christoph Hellwig
2025-11-28  6:29 ` Christoph Hellwig [this message]
2025-11-28  6:29 ` [PATCH 09/25] logprint: cleanup xlog_print_trans_qoff Christoph Hellwig
2025-11-28  6:29 ` [PATCH 10/25] logprint: cleanup xlog_print_trans_inode_core Christoph Hellwig
2025-12-01 18:23   ` Andrey Albershteyn
2025-12-02  7:27     ` Christoph Hellwig
2025-11-28  6:29 ` [PATCH 11/25] logprint: move xfs_inode_item_format_convert up Christoph Hellwig
2025-12-01 18:32   ` Andrey Albershteyn
2025-12-02  7:28     ` Christoph Hellwig
2025-11-28  6:29 ` [PATCH 12/25] logprint: cleanup xlog_print_trans_inode Christoph Hellwig
2025-11-28  6:29 ` [PATCH 13/25] logprint: cleanup xlog_print_trans_dquot Christoph Hellwig
2025-11-28  6:29 ` [PATCH 14/25] logprint: re-indent print_lseek / print_lsn Christoph Hellwig
2025-11-28  6:29 ` [PATCH 15/25] logprint: factor out a xlog_print_process_region helper Christoph Hellwig
2025-11-28  6:29 ` [PATCH 16/25] logprint: factor out a xlog_print_op helper Christoph Hellwig
2025-12-01 18:44   ` Andrey Albershteyn
2025-12-02  7:29     ` Christoph Hellwig
2025-11-28  6:29 ` [PATCH 17/25] logprint: factor out a xlog_unpack_rec_header Christoph Hellwig
2025-11-28  6:29 ` [PATCH 18/25] logprint: cleanup xlog_print_record Christoph Hellwig
2025-11-28  6:29 ` [PATCH 19/25] logprint: cleanup xlog_print_rec_head Christoph Hellwig
2025-11-28  6:29 ` [PATCH 20/25] logprint: cleanup xlog_print_rec_xhead Christoph Hellwig
2025-11-28  6:29 ` [PATCH 21/25] logprint: re-indent print_xlog_bad_* Christoph Hellwig
2025-11-28  6:29 ` [PATCH 22/25] logprint: cleanup xlog_reallocate_xhdrs Christoph Hellwig
2025-11-28  6:30 ` [PATCH 23/25] logprint: factor out a xlog_print_ext_header helper Christoph Hellwig
2025-11-28  6:30 ` [PATCH 24/25] logprint: cleanup xlog_print_extended_headers Christoph Hellwig
2025-11-28  6:30 ` [PATCH 25/25] logprint: cleanup xfs_log_print Christoph Hellwig
2025-12-01 19:03 ` logprint cleanups, part1 Andrey Albershteyn
2025-12-02  7:29   ` Christoph Hellwig

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=20251128063007.1495036-9-hch@lst.de \
    --to=hch@lst.de \
    --cc=aalbersh@kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox