On 06/20/2013 01:54 PM, Mark Tinguely wrote: > Do we need a xfstest verifier dangerous group? > > xfstest 111 purposely damages inodes. In hindsight it make sense > that it asserts when running with verifiers. But is the assert needed? I have to remove the assert to avoid a recursive-fault oops on 32-bit x86. A test run is included at the end of this letter, and you might see if the behavior is OK. There are two patches here. One is the assert removal, made after all of Dave's recent changes for 3.11. The second is a quick-and-dirty patch to fix xfs/111 for the `make install` version of xfstests. The latter one is not used for the sample output here. Thanks for considering this case. A review on something other than 32-bit x86 would be quite helpful. If nothing else, might Dave take a look at the xfs_repair output from my results here? The one-line difference is "fatal error -- couldn't iget realtime bitmap inode -- error - 117". On one hand, I was working with rtdevs recently, and the rtdevs probably weren't zeroed out. OTOH, I was able to fix it using the latest released xfsprogs from an alternate partition (kernel 3.9.5). Thanks, and have a good weekend! Michael >From e51ad981dd93966a2a24f62678ab8d6163ac2111 Mon Sep 17 00:00:00 2001 From: "Michael L. Semon" <mlsemon35@xxxxxxxxx> Date: Fri, 21 Jun 2013 12:03:01 -0400 Subject: [PATCH] Remove assert to avoid recursive-fault oops on 32-bit x86 This patch removes an assert exclusively for the purpose of getting past xfstests xfs/111 without it causing a recursive-fault oops. The fall-through case for this removal has not been fatal but still should be reviewed by an expert. Signed-off-by: Michael L. Semon <mlsemon35@xxxxxxxxx> --- fs/xfs/xfs_inode_buf.c | 1 - 1 file changed, 1 deletion(-) diff --git a/fs/xfs/xfs_inode_buf.c b/fs/xfs/xfs_inode_buf.c index 99c6acb..426f1a7 100644 --- a/fs/xfs/xfs_inode_buf.c +++ b/fs/xfs/xfs_inode_buf.c @@ -92,7 +92,6 @@ xfs_inode_buf_verify( "bad inode magic/vsn daddr %lld #%d (magic=%x)", (unsigned long long)bp->b_bn, i, be16_to_cpu(dip->di_magic)); - ASSERT(0); #endif } } -- 1.8.3 >From e44e5e46ae9f4f29a69485088b873a2d5d55726b Mon Sep 17 00:00:00 2001 From: "Michael L. Semon" <mlsemon35@xxxxxxxxx> Date: Fri, 21 Jun 2013 12:44:57 -0400 Subject: [PATCH] xfstests: give xfs/111 a file to copy and trash later xfs/111 copies src/itrash.c to $SCRATCH_DEV so it can be trashed later. However, src/itrash.c is not installed by `make install`, so use instead a file that is known to be installed. Signed-off-by: Michael L. Semon <mlsemon35@xxxxxxxxx> --- tests/xfs/111 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/xfs/111 b/tests/xfs/111 index bedead8..c7ca489 100755 --- a/tests/xfs/111 +++ b/tests/xfs/111 @@ -53,7 +53,7 @@ echo Create some files I=0 while [ $I -lt 1000 ] do - cp src/itrash.c $SCRATCH_MNT/${I} + cp src/itrash $SCRATCH_MNT/${I} let I=$I+1 done umount $SCRATCH_DEV -- 1.8.3 Script started on Fri 21 Jun 2013 12:23:26 PM EDT root@plbearer:/var/lib/xfstests# ./check -xfs xfs/111 FSTYP -- xfs (debug) PLATFORM -- Linux/i686 plbearer 3.10.0-rc6+ MKFS_OPTIONS -- -f -llogdev=/dev/sda6 -bsize=4096 /dev/sdb6 MOUNT_OPTIONS -- -ologdev=/dev/sda6 /dev/sdb6 /mnt/xfstests-scratch xfs/111 - output mismatch (see /var/lib/xfstests/results/xfs/111.out.bad) --- tests/xfs/111.out 2013-06-21 12:19:39.085344653 -0400 +++ /var/lib/xfstests/results/xfs/111.out.bad 2013-06-21 12:23:53.762849921 -0400 @@ -6,6 +6,1006 @@ log =LDEV bsize=XXX blocks=XXX realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX Create some files +cp: cannot stat 'src/itrash.c': No such file or directory +cp: cannot stat 'src/itrash.c': No such file or directory +cp: cannot stat 'src/itrash.c': No such file or directory +cp: cannot stat 'src/itrash.c': No such file or directory ... (Run 'diff -u tests/xfs/111.out /var/lib/xfstests/results/xfs/111.out.bad' to see the entire diff) Ran: xfs/111 Failures: xfs/111 Failed 1 of 1 tests root@plbearer:/var/lib/xfstests# dmesg [ 1339.824439] XFS (sdb5): Mounting Filesystem [ 1339.903058] XFS (sdb5): Ending clean mount [ 1341.637015] XFS (sdb6): Mounting Filesystem [ 1341.708437] XFS (sdb6): Ending clean mount [ 1342.211400] XFS (sdb5): Mounting Filesystem [ 1342.276526] XFS (sdb5): Ending clean mount [ 1344.500213] XFS (sdb6): Mounting Filesystem [ 1344.585894] XFS (sdb6): Ending clean mount [ 1348.470883] XFS (sdb6): Mounting Filesystem [ 1348.539515] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.539527] XFS (sdb6): bad inode magic/vsn daddr 64 #8 (magic=5858) [ 1348.540856] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.540863] XFS (sdb6): bad inode magic/vsn daddr 64 #9 (magic=5858) [ 1348.542140] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.542147] XFS (sdb6): bad inode magic/vsn daddr 64 #10 (magic=5858) [ 1348.543394] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.543400] XFS (sdb6): bad inode magic/vsn daddr 64 #11 (magic=5858) [ 1348.544627] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.544633] XFS (sdb6): bad inode magic/vsn daddr 64 #12 (magic=5858) [ 1348.545854] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.545861] XFS (sdb6): bad inode magic/vsn daddr 64 #13 (magic=5858) [ 1348.547017] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.547023] XFS (sdb6): bad inode magic/vsn daddr 64 #14 (magic=5858) [ 1348.548176] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.548183] XFS (sdb6): bad inode magic/vsn daddr 64 #15 (magic=5858) [ 1348.549328] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.549334] XFS (sdb6): bad inode magic/vsn daddr 64 #16 (magic=5858) [ 1348.550484] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.550491] XFS (sdb6): bad inode magic/vsn daddr 64 #17 (magic=5858) [ 1348.551582] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.551588] XFS (sdb6): bad inode magic/vsn daddr 64 #18 (magic=5858) [ 1348.552694] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.552700] XFS (sdb6): bad inode magic/vsn daddr 64 #19 (magic=5858) [ 1348.553780] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.553786] XFS (sdb6): bad inode magic/vsn daddr 64 #20 (magic=5858) [ 1348.554855] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.554861] XFS (sdb6): bad inode magic/vsn daddr 64 #21 (magic=5858) [ 1348.555927] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.555933] XFS (sdb6): bad inode magic/vsn daddr 64 #22 (magic=5858) [ 1348.556989] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.556995] XFS (sdb6): bad inode magic/vsn daddr 64 #23 (magic=5858) [ 1348.558037] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.558045] XFS (sdb6): bad inode magic/vsn daddr 64 #24 (magic=5858) [ 1348.559075] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.559081] XFS (sdb6): bad inode magic/vsn daddr 64 #25 (magic=5858) [ 1348.560139] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.560146] XFS (sdb6): bad inode magic/vsn daddr 64 #26 (magic=5858) [ 1348.561164] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.561170] XFS (sdb6): bad inode magic/vsn daddr 64 #27 (magic=5858) [ 1348.562169] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.562176] XFS (sdb6): bad inode magic/vsn daddr 64 #28 (magic=5858) [ 1348.563152] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.563168] XFS (sdb6): bad inode magic/vsn daddr 64 #29 (magic=5858) [ 1348.564125] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.564131] XFS (sdb6): bad inode magic/vsn daddr 64 #30 (magic=5858) [ 1348.565065] XFS (sdb6): Corruption detected. Unmount and run xfs_repair [ 1348.565072] XFS (sdb6): bad inode magic/vsn daddr 64 #31 (magic=5858) [ 1348.566455] XFS (sdb6): metadata I/O error: block 0x40 ("xfs_trans_read_buf_map") error 117 numblks 16 [ 1348.566472] XFS (sdb6): xfs_imap_to_bp: xfs_trans_read_buf() returned error 117. [ 1348.566484] XFS (sdb6): failed to read root inode [ 1349.479741] XFS (sdb5): Mounting Filesystem [ 1349.550037] XFS (sdb5): Ending clean mount root@plbearer:/var/lib/xfstests# xfs_repair -l $SCRATCH_LOGDEV $SCRATCH_DEV Phase 1 - find and verify superblock... Phase 2 - using external log on /dev/sda6 - zero log... - scan filesystem freespace and inode maps... - found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR xfs_inode_buf_verify: XFS_CORRUPTION_ERROR bad magic number 0x5858 on inode 136 bad magic number 0x5858 on inode 137 bad magic number 0x5858 on inode 138 bad magic number 0x5858 on inode 139 bad magic number 0x5858 on inode 140 bad magic number 0x5858 on inode 141 bad magic number 0x5858 on inode 142 bad magic number 0x5858 on inode 143 bad magic number 0x5858 on inode 144 bad magic number 0x5858 on inode 145 bad magic number 0x5858 on inode 146 bad magic number 0x5858 on inode 147 bad magic number 0x5858 on inode 148 bad magic number 0x5858 on inode 149 bad magic number 0x5858 on inode 150 bad magic number 0x5858 on inode 151 bad magic number 0x5858 on inode 152 bad magic number 0x5858 on inode 153 bad magic number 0x5858 on inode 154 bad magic number 0x5858 on inode 155 bad magic number 0x5858 on inode 156 bad magic number 0x5858 on inode 157 bad magic number 0x5858 on inode 158 bad magic number 0x5858 on inode 159 bad magic number 0x5858 on inode 160 bad magic number 0x5858 on inode 161 bad magic number 0x5858 on inode 162 bad magic number 0x5858 on inode 163 bad magic number 0x5858 on inode 164 bad magic number 0x5858 on inode 165 bad magic number 0x5858 on inode 166 bad magic number 0x5858 on inode 167 bad magic number 0x5858 on inode 168 bad magic number 0x5858 on inode 169 bad magic number 0x5858 on inode 170 bad magic number 0x5858 on inode 171 bad magic number 0x5858 on inode 172 bad magic number 0x5858 on inode 173 bad magic number 0x5858 on inode 174 bad magic number 0x5858 on inode 175 bad magic number 0x5858 on inode 176 bad magic number 0x5858 on inode 177 bad magic number 0x5858 on inode 178 bad magic number 0x5858 on inode 179 bad magic number 0x5858 on inode 180 bad magic number 0x5858 on inode 181 bad magic number 0x5858 on inode 182 bad magic number 0x5858 on inode 183 bad magic number 0x5858 on inode 184 bad magic number 0x5858 on inode 185 bad magic number 0x5858 on inode 186 bad magic number 0x5858 on inode 187 bad magic number 0x5858 on inode 188 bad magic number 0x5858 on inode 189 bad magic number 0x5858 on inode 190 bad magic number 0x5858 on inode 191 bad magic number 0x5858 on inode 136, resetting magic number bad magic number 0x5858 on inode 137, resetting magic number bad magic number 0x5858 on inode 138, resetting magic number bad magic number 0x5858 on inode 139, resetting magic number bad magic number 0x5858 on inode 140, resetting magic number bad magic number 0x5858 on inode 141, resetting magic number bad magic number 0x5858 on inode 142, resetting magic number bad magic number 0x5858 on inode 143, resetting magic number bad magic number 0x5858 on inode 144, resetting magic number bad magic number 0x5858 on inode 145, resetting magic number bad magic number 0x5858 on inode 146, resetting magic number bad magic number 0x5858 on inode 147, resetting magic number bad magic number 0x5858 on inode 148, resetting magic number bad magic number 0x5858 on inode 149, resetting magic number bad magic number 0x5858 on inode 150, resetting magic number bad magic number 0x5858 on inode 151, resetting magic number bad magic number 0x5858 on inode 152, resetting magic number bad magic number 0x5858 on inode 153, resetting magic number bad magic number 0x5858 on inode 154, resetting magic number bad magic number 0x5858 on inode 155, resetting magic number bad magic number 0x5858 on inode 156, resetting magic number bad magic number 0x5858 on inode 157, resetting magic number bad magic number 0x5858 on inode 158, resetting magic number bad magic number 0x5858 on inode 159, resetting magic number bad magic number 0x5858 on inode 160, resetting magic number bad magic number 0x5858 on inode 161, resetting magic number bad magic number 0x5858 on inode 162, resetting magic number bad magic number 0x5858 on inode 163, resetting magic number bad magic number 0x5858 on inode 164, resetting magic number bad magic number 0x5858 on inode 165, resetting magic number bad magic number 0x5858 on inode 166, resetting magic number bad magic number 0x5858 on inode 167, resetting magic number bad magic number 0x5858 on inode 168, resetting magic number bad magic number 0x5858 on inode 169, resetting magic number bad magic number 0x5858 on inode 170, resetting magic number bad magic number 0x5858 on inode 171, resetting magic number bad magic number 0x5858 on inode 172, resetting magic number bad magic number 0x5858 on inode 173, resetting magic number bad magic number 0x5858 on inode 174, resetting magic number bad magic number 0x5858 on inode 175, resetting magic number bad magic number 0x5858 on inode 176, resetting magic number bad magic number 0x5858 on inode 177, resetting magic number bad magic number 0x5858 on inode 178, resetting magic number bad magic number 0x5858 on inode 179, resetting magic number bad magic number 0x5858 on inode 180, resetting magic number bad magic number 0x5858 on inode 181, resetting magic number bad magic number 0x5858 on inode 182, resetting magic number bad magic number 0x5858 on inode 183, resetting magic number bad magic number 0x5858 on inode 184, resetting magic number bad magic number 0x5858 on inode 185, resetting magic number bad magic number 0x5858 on inode 186, resetting magic number bad magic number 0x5858 on inode 187, resetting magic number bad magic number 0x5858 on inode 188, resetting magic number bad magic number 0x5858 on inode 189, resetting magic number bad magic number 0x5858 on inode 190, resetting magic number bad magic number 0x5858 on inode 191, resetting magic number - agno = 1 - agno = 2 - agno = 3 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 0 - agno = 1 - agno = 2 - agno = 3 Phase 5 - rebuild AG headers and trees... - reset superblock... Phase 6 - check inode connectivity... - resetting contents of realtime bitmap and summary inodes xfs_imap_to_bp: xfs_trans_read_buf() returned error 117. cache_node_purge: refcount was 1, not zero (node=0x937b600) fatal error -- couldn't iget realtime bitmap inode -- error - 117 root@plbearer:/var/lib/xfstests# exit Script done on Fri 21 Jun 2013 12:25:26 PM EDT _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs