From: Christoph Hellwig <hch@lst.de>
To: Andrey Albershteyn <aalbersh@kernel.org>
Cc: linux-xfs@vger.kernel.org
Subject: [PATCH 12/25] logprint: cleanup xlog_print_trans_inode
Date: Fri, 28 Nov 2025 07:29:49 +0100 [thread overview]
Message-ID: <20251128063007.1495036-13-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 | 241 ++++++++++++++++++++++----------------------
1 file changed, 121 insertions(+), 120 deletions(-)
diff --git a/logprint/log_misc.c b/logprint/log_misc.c
index 274d25e94bbd..8cdbb7d5fe42 100644
--- a/logprint/log_misc.c
+++ b/logprint/log_misc.c
@@ -626,140 +626,141 @@ xlog_print_trans_inode(
struct xfs_inode_log_format dst_lbuf;
struct xfs_inode_log_format src_lbuf;
struct xfs_inode_log_format *f;
- int mode;
- int size;
- int skip_count;
+ int mode;
+ int size;
+ int skip_count;
+
+ /*
+ * Print inode type header region.
+ *
+ * memmove to ensure 8-byte alignment for the long longs in
+ * struct xfs_inode_log_format structure.
+ *
+ * len can be smaller than struct xfs_inode_log_format if format data
+ * is split over operations.
+ */
+ memmove(&src_lbuf, *ptr, min(sizeof(src_lbuf), len));
+ (*i)++; /* bump index */
+ *ptr += len;
+ if (continued ||
+ (len != sizeof(struct xfs_inode_log_format_32) &&
+ len != sizeof(struct xfs_inode_log_format))) {
+ ASSERT(len >= 4); /* must have at least 4 bytes if != 0 */
+ f = (struct xfs_inode_log_format *)&src_lbuf;
+ printf(_("INODE: #regs: %d Not printing rest of data\n"),
+ f->ilf_size);
+ return f->ilf_size;
+ }
- /*
- * print inode type header region
- *
- * memmove to ensure 8-byte alignment for the long longs in
- * struct xfs_inode_log_format structure
- *
- * len can be smaller than struct xfs_inode_log_format
- * if format data is split over operations
- */
- memmove(&src_lbuf, *ptr, min(sizeof(src_lbuf), len));
- (*i)++; /* bump index */
- *ptr += len;
- if (!continued &&
- (len == sizeof(struct xfs_inode_log_format_32) ||
- len == sizeof(struct xfs_inode_log_format))) {
f = xfs_inode_item_format_convert((char*)&src_lbuf, len, &dst_lbuf);
printf(_("INODE: "));
printf(_("#regs: %d ino: 0x%llx flags: 0x%x dsize: %d\n"),
- f->ilf_size, (unsigned long long)f->ilf_ino,
- f->ilf_fields, f->ilf_dsize);
+ f->ilf_size,
+ (unsigned long long)f->ilf_ino,
+ f->ilf_fields,
+ f->ilf_dsize);
printf(_(" blkno: %lld len: %d boff: %d\n"),
- (long long)f->ilf_blkno, f->ilf_len, f->ilf_boffset);
- } else {
- ASSERT(len >= 4); /* must have at least 4 bytes if != 0 */
- f = (struct xfs_inode_log_format *)&src_lbuf;
- printf(_("INODE: #regs: %d Not printing rest of data\n"),
- f->ilf_size);
- return f->ilf_size;
- }
-
- skip_count = f->ilf_size-1;
-
- if (*i >= num_ops) /* end of LR */
- return skip_count;
-
- /* core inode comes 2nd */
- op_head = (xlog_op_header_t *)*ptr;
- xlog_print_op_header(op_head, *i, ptr);
-
- if (op_head->oh_flags & XLOG_CONTINUE_TRANS) {
- return skip_count;
- }
-
- memmove(&dino, *ptr, sizeof(dino));
- mode = dino.di_mode & S_IFMT;
- size = (int)dino.di_size;
- xlog_print_trans_inode_core(&dino);
- *ptr += xfs_log_dinode_size(log->l_mp);
- skip_count--;
-
- switch (f->ilf_fields & (XFS_ILOG_DEV | XFS_ILOG_UUID)) {
- case XFS_ILOG_DEV:
- printf(_("DEV inode: no extra region\n"));
- break;
- case XFS_ILOG_UUID:
- printf(_("UUID inode: no extra region\n"));
- break;
- }
-
- /* Only the inode core is logged */
- if (f->ilf_size == 2)
- return 0;
-
- ASSERT(f->ilf_size <= 4);
- ASSERT((f->ilf_size == 3) || (f->ilf_fields & XFS_ILOG_AFORK));
+ (long long)f->ilf_blkno,
+ f->ilf_len,
+ f->ilf_boffset);
+
+ skip_count = f->ilf_size - 1;
+ if (*i >= num_ops) /* end of LR */
+ return skip_count;
+
+ /* core inode comes 2nd */
+ op_head = (struct xlog_op_header *)*ptr;
+ xlog_print_op_header(op_head, *i, ptr);
+
+ if (op_head->oh_flags & XLOG_CONTINUE_TRANS)
+ return skip_count;
+
+ memmove(&dino, *ptr, sizeof(dino));
+ mode = dino.di_mode & S_IFMT;
+ size = (int)dino.di_size;
+ xlog_print_trans_inode_core(&dino);
+ *ptr += xfs_log_dinode_size(log->l_mp);
+ skip_count--;
+
+ switch (f->ilf_fields & (XFS_ILOG_DEV | XFS_ILOG_UUID)) {
+ case XFS_ILOG_DEV:
+ printf(_("DEV inode: no extra region\n"));
+ break;
+ case XFS_ILOG_UUID:
+ printf(_("UUID inode: no extra region\n"));
+ break;
+ }
- /* does anything come next */
- op_head = (xlog_op_header_t *)*ptr;
+ /* Only the inode core is logged */
+ if (f->ilf_size == 2)
+ return 0;
- if (f->ilf_fields & XFS_ILOG_DFORK) {
- if (*i == num_ops-1)
- return skip_count;
- (*i)++;
- xlog_print_op_header(op_head, *i, ptr);
+ ASSERT(f->ilf_size <= 4);
+ ASSERT((f->ilf_size == 3) || (f->ilf_fields & XFS_ILOG_AFORK));
- switch (f->ilf_fields & XFS_ILOG_DFORK) {
- case XFS_ILOG_DEXT:
- printf(_("EXTENTS inode data\n"));
- break;
- case XFS_ILOG_DBROOT:
- printf(_("BTREE inode data\n"));
- break;
- case XFS_ILOG_DDATA:
- printf(_("LOCAL inode data\n"));
- if (mode == S_IFDIR)
- printf(_("SHORTFORM DIRECTORY size %d\n"), size);
- break;
- default:
- ASSERT((f->ilf_fields & XFS_ILOG_DFORK) == 0);
- break;
- }
+ /* does anything come next */
+ op_head = (struct xlog_op_header *)*ptr;
- *ptr += be32_to_cpu(op_head->oh_len);
- if (op_head->oh_flags & XLOG_CONTINUE_TRANS)
- return skip_count;
- op_head = (xlog_op_header_t *)*ptr;
- skip_count--;
- }
+ if (f->ilf_fields & XFS_ILOG_DFORK) {
+ if (*i == num_ops-1)
+ return skip_count;
+ (*i)++;
+ xlog_print_op_header(op_head, *i, ptr);
- if (f->ilf_fields & XFS_ILOG_AFORK) {
- if (*i == num_ops-1)
- return skip_count;
- (*i)++;
- xlog_print_op_header(op_head, *i, ptr);
+ switch (f->ilf_fields & XFS_ILOG_DFORK) {
+ case XFS_ILOG_DEXT:
+ printf(_("EXTENTS inode data\n"));
+ break;
+ case XFS_ILOG_DBROOT:
+ printf(_("BTREE inode data\n"));
+ break;
+ case XFS_ILOG_DDATA:
+ printf(_("LOCAL inode data\n"));
+ if (mode == S_IFDIR)
+ printf(_("SHORTFORM DIRECTORY size %d\n"),
+ size);
+ break;
+ default:
+ ASSERT((f->ilf_fields & XFS_ILOG_DFORK) == 0);
+ break;
+ }
- switch (f->ilf_fields & XFS_ILOG_AFORK) {
- case XFS_ILOG_AEXT:
- printf(_("EXTENTS attr data\n"));
- break;
- case XFS_ILOG_ABROOT:
- printf(_("BTREE attr data\n"));
- break;
- case XFS_ILOG_ADATA:
- printf(_("LOCAL attr data\n"));
- break;
- default:
- ASSERT((f->ilf_fields & XFS_ILOG_AFORK) == 0);
- break;
- }
- *ptr += be32_to_cpu(op_head->oh_len);
- if (op_head->oh_flags & XLOG_CONTINUE_TRANS)
- return skip_count;
- skip_count--;
- }
+ *ptr += be32_to_cpu(op_head->oh_len);
+ if (op_head->oh_flags & XLOG_CONTINUE_TRANS)
+ return skip_count;
+ op_head = (struct xlog_op_header *)*ptr;
+ skip_count--;
+ }
- ASSERT(skip_count == 0);
+ if (f->ilf_fields & XFS_ILOG_AFORK) {
+ if (*i == num_ops-1)
+ return skip_count;
+ (*i)++;
+ xlog_print_op_header(op_head, *i, ptr);
- return 0;
-} /* xlog_print_trans_inode */
+ switch (f->ilf_fields & XFS_ILOG_AFORK) {
+ case XFS_ILOG_AEXT:
+ printf(_("EXTENTS attr data\n"));
+ break;
+ case XFS_ILOG_ABROOT:
+ printf(_("BTREE attr data\n"));
+ break;
+ case XFS_ILOG_ADATA:
+ printf(_("LOCAL attr data\n"));
+ break;
+ default:
+ ASSERT((f->ilf_fields & XFS_ILOG_AFORK) == 0);
+ break;
+ }
+ *ptr += be32_to_cpu(op_head->oh_len);
+ if (op_head->oh_flags & XLOG_CONTINUE_TRANS)
+ return skip_count;
+ skip_count--;
+ }
+ ASSERT(skip_count == 0);
+ return 0;
+}
static int
xlog_print_trans_dquot(char **ptr, int len, int *i, int num_ops)
--
2.47.3
next prev 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 ` [PATCH 08/25] logprint: cleanup xlog_print_trans_buffer Christoph Hellwig
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 ` Christoph Hellwig [this message]
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-13-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