From: "Darrick J. Wong" <djwong@kernel.org>
To: Ma Xinjian <maxj.fnst@fujitsu.com>
Cc: fstests@vger.kernel.org
Subject: Re: [Issue] xfs: g/754, xfs_repair reports mismatch between format and size in symlink ino
Date: Fri, 26 Jul 2024 08:27:40 -0700 [thread overview]
Message-ID: <20240726152740.GP103020@frogsfrogsfrogs> (raw)
In-Reply-To: <20240726033342.1140741-1-maxj.fnst@fujitsu.com>
On Fri, Jul 26, 2024 at 11:33:42AM +0800, Ma Xinjian wrote:
> Hi
>
> Using upstream kernel, the symlink does not get corrupted in the test of generic/754 on xfs.
> But the check of xfs_repair still fails with "mismatch between format (2) and size (297) in symlink ino 139".
> Does xfs_repair need to make corresponding modifications to the upstream kernel fix commit?
> Could anyone help take a look?
https://lore.kernel.org/linux-xfs/171988123583.2012930.12584359346392356391.stgit@frogsfrogsfrogs/
> Package Version:
> kernel: 6.10.0
> xfs_repair: 6.9.0
>
> Results:
> ```
> # ./check generic/754
> FSTYP -- xfs (non-debug)
> PLATFORM -- Linux/x86_64 localhost 6.10.0 #2 SMP PREEMPT_DYNAMIC Wed Jul 24 05:36:54 EDT 2024
> MKFS_OPTIONS -- -f /dev/loop1
> MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/loop1 /mnt/xfstests/scratch
>
> generic/754 _check_xfs_filesystem: filesystem on /dev/loop1 is inconsistent (r)
> (see /root/xfstests-dev/results//generic/754.full for details)
>
>
> HINT: You _MAY_ be missing kernel fix:
> XXXXXXXXXXXXX xfs: allow symlinks with short remote targets
I guess it's time to fix the kernel commit id and add a placeholder for
the xfs_repair patch too.
--D
> Ran: generic/754
> Failures: generic/754
> Failed 1 of 1 tests
> ```
>
> Output of "xfs_repair -n":
> ```
> Phase 1 - find and verify superblock...
> Phase 2 - using internal log
> - zero log...
> - scan filesystem freespace and inode maps...
> - found root inode chunk
> Phase 3 - for each AG...
> - scan (but don't clear) agi unlinked lists...
> - process known inodes and perform inode discovery...
> - agno = 0
> mismatch between format (2) and size (297) in symlink ino 139
> bad data fork in symlink 139
> would have cleared inode 139
> mismatch between format (2) and size (330) in symlink ino 140
> bad data fork in symlink 140
> would have cleared inode 140
> - agno = 1
> - agno = 2
> - agno = 3
> - process newly discovered inodes...
> Phase 4 - check for duplicate blocks...
> - setting up duplicate extent list...
> unknown block state, ag 0, blocks 14-15
> - check for inodes claiming duplicate blocks...
> - agno = 1
> - agno = 0
> entry "symlink.288" at block 0 offset 288 in directory inode 128 references free inode 139
> would clear inode number in entry at offset 288...
> - agno = 2
> - agno = 3
> entry "symlink.320" at block 0 offset 312 in directory inode 128 references free inode 140
> would clear inode number in entry at offset 312...
> mismatch between format (2) and size (297) in symlink ino 139
> bad data fork in symlink 139
> would have cleared inode 139
> mismatch between format (2) and size (330) in symlink ino 140
> bad data fork in symlink 140
> would have cleared inode 140
> No modify flag set, skipping phase 5
> Phase 6 - check inode connectivity...
> - traversing filesystem ...
> entry "symlink.288" in directory inode 128 points to free inode 139, would junk entry
> entry "symlink.320" in directory inode 128 points to free inode 140, would junk entry
> bad hash table for directory inode 128 (no data entry): would rebuild
> would rebuild directory inode 128
> - traversal finished ...
> - moving disconnected inodes to lost+found ...
> Phase 7 - verify link counts...
> No modify flag set, skipping filesystem flush and exiting.
> ```
>
prev parent reply other threads:[~2024-07-26 15:27 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-26 3:33 [Issue] xfs: g/754, xfs_repair reports mismatch between format and size in symlink ino Ma Xinjian
2024-07-26 15:27 ` Darrick J. Wong [this message]
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=20240726152740.GP103020@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=fstests@vger.kernel.org \
--cc=maxj.fnst@fujitsu.com \
/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