mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
3e026f5937
Commit 31f48569c3 ("xfs/030: fix output on newer filesystems") added
more lines to .out file to match the output from XFS with reflink
support, but it broke test on older XFS.
Dave explained the reason and pointed out the correct way to fix it, so
I just quote Dave's mail here:
"The problem here is that reflink triggers a change in the initial
population of the AGFL - from 4 blocks to 6 blocks, and so repair warns
6 times instead of 4. After filtering, that gives 6 indentical output
lines instead of 4.
Doing something as simple as collapsing repeated identical lines (e.g
filtering through uniq) will work for all filesystem formats and any
future changes that modify the initial AGFL population."
Suggested-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
289 lines
12 KiB
Plaintext
289 lines
12 KiB
Plaintext
QA output created by 030
|
|
meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks
|
|
data = bsize=XXX blocks=XXX, imaxpct=PCT
|
|
= sunit=XXX swidth=XXX, unwritten=X
|
|
naming =VERN bsize=XXX
|
|
log =LDEV bsize=XXX blocks=XXX
|
|
realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
|
|
Corrupting sb 0 - setting bits to 0
|
|
Wrote X.XXKb (value 0x0)
|
|
Phase 1 - find and verify superblock...
|
|
bad primary superblock - bad magic number !!!
|
|
|
|
attempting to find secondary superblock...
|
|
found candidate secondary superblock...
|
|
verified secondary superblock...
|
|
writing modified primary superblock
|
|
sb root inode value INO inconsistent with calculated value INO
|
|
resetting superblock root inode pointer to INO
|
|
sb realtime bitmap inode INO inconsistent with calculated value INO
|
|
resetting superblock realtime bitmap ino pointer to INO
|
|
sb realtime summary inode INO inconsistent with calculated value INO
|
|
resetting superblock realtime summary ino pointer to INO
|
|
Phase 2 - 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...
|
|
- process newly discovered inodes...
|
|
Phase 4 - check for duplicate blocks...
|
|
- setting up duplicate extent list...
|
|
- clear lost+found (if it exists) ...
|
|
- check for inodes claiming duplicate blocks...
|
|
Phase 5 - rebuild AG headers and trees...
|
|
- reset superblock...
|
|
Phase 6 - check inode connectivity...
|
|
- resetting contents of realtime bitmap and summary inodes
|
|
- ensuring existence of lost+found directory
|
|
- traversing filesystem starting at / ...
|
|
- traversal finished ...
|
|
- traversing all unattached subtrees ...
|
|
- traversals finished ...
|
|
- moving disconnected inodes to lost+found ...
|
|
Phase 7 - verify and correct link counts...
|
|
Note - stripe unit (0) and width (0) fields have been reset.
|
|
Please set with mount -o sunit=<value>,swidth=<value>
|
|
done
|
|
Corrupting agf 0 - setting bits to 0
|
|
Wrote X.XXKb (value 0x0)
|
|
Phase 1 - find and verify superblock...
|
|
Phase 2 - zero log...
|
|
- scan filesystem freespace and inode maps...
|
|
bad magic # 0x0 for agf 0
|
|
bad version # 0 for agf 0
|
|
bad length 0 for agf 0, should be LENGTH
|
|
reset bad agf for ag 0
|
|
bad agbno AGBNO for btbno root, agno 0
|
|
bad agbno AGBNO for btbcnt root, agno 0
|
|
- found root inode chunk
|
|
Phase 3 - for each AG...
|
|
- scan and clear agi unlinked lists...
|
|
- process known inodes and perform inode discovery...
|
|
- process newly discovered inodes...
|
|
Phase 4 - check for duplicate blocks...
|
|
- setting up duplicate extent list...
|
|
- clear lost+found (if it exists) ...
|
|
- clearing existing "lost+found" inode
|
|
- deleting existing "lost+found" entry
|
|
- check for inodes claiming duplicate blocks...
|
|
Phase 5 - rebuild AG headers and trees...
|
|
- reset superblock...
|
|
Phase 6 - check inode connectivity...
|
|
- resetting contents of realtime bitmap and summary inodes
|
|
- ensuring existence of lost+found directory
|
|
- traversing filesystem starting at / ...
|
|
- traversal finished ...
|
|
- traversing all unattached subtrees ...
|
|
- traversals finished ...
|
|
- moving disconnected inodes to lost+found ...
|
|
Phase 7 - verify and correct link counts...
|
|
done
|
|
Corrupting agi 0 - setting bits to 0
|
|
Wrote X.XXKb (value 0x0)
|
|
Phase 1 - find and verify superblock...
|
|
Phase 2 - zero log...
|
|
- scan filesystem freespace and inode maps...
|
|
bad magic # 0x0 for agi 0
|
|
bad version # 0 for agi 0
|
|
bad length # 0 for agi 0, should be LENGTH
|
|
reset bad agi for ag 0
|
|
bad agbno AGBNO for inobt root, agno 0
|
|
root inode chunk not found
|
|
Phase 3 - for each AG...
|
|
- scan and clear agi unlinked lists...
|
|
error following ag 0 unlinked list
|
|
- process known inodes and perform inode discovery...
|
|
imap claims in-use inode INO is free, correcting imap
|
|
- process newly discovered inodes...
|
|
Phase 4 - check for duplicate blocks...
|
|
- setting up duplicate extent list...
|
|
- clear lost+found (if it exists) ...
|
|
- clearing existing "lost+found" inode
|
|
- deleting existing "lost+found" entry
|
|
- check for inodes claiming duplicate blocks...
|
|
Phase 5 - rebuild AG headers and trees...
|
|
- reset superblock...
|
|
Phase 6 - check inode connectivity...
|
|
- resetting contents of realtime bitmap and summary inodes
|
|
- ensuring existence of lost+found directory
|
|
- traversing filesystem starting at / ...
|
|
- traversal finished ...
|
|
- traversing all unattached subtrees ...
|
|
- traversals finished ...
|
|
- moving disconnected inodes to lost+found ...
|
|
Phase 7 - verify and correct link counts...
|
|
done
|
|
Corrupting agfl 0 - setting bits to 0
|
|
Wrote X.XXKb (value 0x0)
|
|
Phase 1 - find and verify superblock...
|
|
Phase 2 - 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...
|
|
- process newly discovered inodes...
|
|
Phase 4 - check for duplicate blocks...
|
|
- setting up duplicate extent list...
|
|
- clear lost+found (if it exists) ...
|
|
- clearing existing "lost+found" inode
|
|
- deleting existing "lost+found" entry
|
|
- check for inodes claiming duplicate blocks...
|
|
Phase 5 - rebuild AG headers and trees...
|
|
- reset superblock...
|
|
Phase 6 - check inode connectivity...
|
|
- resetting contents of realtime bitmap and summary inodes
|
|
- ensuring existence of lost+found directory
|
|
- traversing filesystem starting at / ...
|
|
- traversal finished ...
|
|
- traversing all unattached subtrees ...
|
|
- traversals finished ...
|
|
- moving disconnected inodes to lost+found ...
|
|
Phase 7 - verify and correct link counts...
|
|
done
|
|
Corrupting sb 0 - setting bits to -1
|
|
Wrote X.XXKb (value 0xffffffff)
|
|
Phase 1 - find and verify superblock...
|
|
bad primary superblock - bad magic number !!!
|
|
|
|
attempting to find secondary superblock...
|
|
found candidate secondary superblock...
|
|
verified secondary superblock...
|
|
writing modified primary superblock
|
|
sb root inode value INO inconsistent with calculated value INO
|
|
resetting superblock root inode pointer to INO
|
|
sb realtime bitmap inode INO inconsistent with calculated value INO
|
|
resetting superblock realtime bitmap ino pointer to INO
|
|
sb realtime summary inode INO inconsistent with calculated value INO
|
|
resetting superblock realtime summary ino pointer to INO
|
|
Phase 2 - 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...
|
|
- process newly discovered inodes...
|
|
Phase 4 - check for duplicate blocks...
|
|
- setting up duplicate extent list...
|
|
- clear lost+found (if it exists) ...
|
|
- clearing existing "lost+found" inode
|
|
- deleting existing "lost+found" entry
|
|
- check for inodes claiming duplicate blocks...
|
|
Phase 5 - rebuild AG headers and trees...
|
|
- reset superblock...
|
|
Phase 6 - check inode connectivity...
|
|
- resetting contents of realtime bitmap and summary inodes
|
|
- ensuring existence of lost+found directory
|
|
- traversing filesystem starting at / ...
|
|
- traversal finished ...
|
|
- traversing all unattached subtrees ...
|
|
- traversals finished ...
|
|
- moving disconnected inodes to lost+found ...
|
|
Phase 7 - verify and correct link counts...
|
|
Note - stripe unit (0) and width (0) fields have been reset.
|
|
Please set with mount -o sunit=<value>,swidth=<value>
|
|
done
|
|
Corrupting agf 0 - setting bits to -1
|
|
Wrote X.XXKb (value 0xffffffff)
|
|
Phase 1 - find and verify superblock...
|
|
Phase 2 - zero log...
|
|
- scan filesystem freespace and inode maps...
|
|
bad magic # 0xffffffff for agf 0
|
|
bad version # -1 for agf 0
|
|
bad sequence # -1 for agf 0
|
|
bad length -1 for agf 0, should be LENGTH
|
|
flfirst -1 in agf 0 too large (max = MAX)
|
|
fllast -1 in agf 0 too large (max = MAX)
|
|
reset bad agf for ag 0
|
|
freeblk count 1 != flcount -1 in ag 0
|
|
bad agbno AGBNO for btbno root, agno 0
|
|
bad agbno AGBNO for btbcnt root, agno 0
|
|
- found root inode chunk
|
|
Phase 3 - for each AG...
|
|
- scan and clear agi unlinked lists...
|
|
- process known inodes and perform inode discovery...
|
|
- process newly discovered inodes...
|
|
Phase 4 - check for duplicate blocks...
|
|
- setting up duplicate extent list...
|
|
- clear lost+found (if it exists) ...
|
|
- clearing existing "lost+found" inode
|
|
- deleting existing "lost+found" entry
|
|
- check for inodes claiming duplicate blocks...
|
|
Phase 5 - rebuild AG headers and trees...
|
|
- reset superblock...
|
|
Phase 6 - check inode connectivity...
|
|
- resetting contents of realtime bitmap and summary inodes
|
|
- ensuring existence of lost+found directory
|
|
- traversing filesystem starting at / ...
|
|
- traversal finished ...
|
|
- traversing all unattached subtrees ...
|
|
- traversals finished ...
|
|
- moving disconnected inodes to lost+found ...
|
|
Phase 7 - verify and correct link counts...
|
|
done
|
|
Corrupting agi 0 - setting bits to -1
|
|
Wrote X.XXKb (value 0xffffffff)
|
|
Phase 1 - find and verify superblock...
|
|
Phase 2 - zero log...
|
|
- scan filesystem freespace and inode maps...
|
|
bad magic # 0xffffffff for agi 0
|
|
bad version # -1 for agi 0
|
|
bad sequence # -1 for agi 0
|
|
bad length # -1 for agi 0, should be LENGTH
|
|
reset bad agi for ag 0
|
|
bad agbno AGBNO for inobt root, agno 0
|
|
root inode chunk not found
|
|
Phase 3 - for each AG...
|
|
- scan and clear agi unlinked lists...
|
|
- process known inodes and perform inode discovery...
|
|
imap claims in-use inode INO is free, correcting imap
|
|
- process newly discovered inodes...
|
|
Phase 4 - check for duplicate blocks...
|
|
- setting up duplicate extent list...
|
|
- clear lost+found (if it exists) ...
|
|
- clearing existing "lost+found" inode
|
|
- deleting existing "lost+found" entry
|
|
- check for inodes claiming duplicate blocks...
|
|
Phase 5 - rebuild AG headers and trees...
|
|
- reset superblock...
|
|
Phase 6 - check inode connectivity...
|
|
- resetting contents of realtime bitmap and summary inodes
|
|
- ensuring existence of lost+found directory
|
|
- traversing filesystem starting at / ...
|
|
- traversal finished ...
|
|
- traversing all unattached subtrees ...
|
|
- traversals finished ...
|
|
- moving disconnected inodes to lost+found ...
|
|
Phase 7 - verify and correct link counts...
|
|
done
|
|
Corrupting agfl 0 - setting bits to -1
|
|
Wrote X.XXKb (value 0xffffffff)
|
|
Phase 1 - find and verify superblock...
|
|
Phase 2 - zero log...
|
|
- scan filesystem freespace and inode maps...
|
|
bad agbno AGBNO in agfl, agno 0
|
|
- found root inode chunk
|
|
Phase 3 - for each AG...
|
|
- scan and clear agi unlinked lists...
|
|
- process known inodes and perform inode discovery...
|
|
- process newly discovered inodes...
|
|
Phase 4 - check for duplicate blocks...
|
|
- setting up duplicate extent list...
|
|
- clear lost+found (if it exists) ...
|
|
- clearing existing "lost+found" inode
|
|
- deleting existing "lost+found" entry
|
|
- check for inodes claiming duplicate blocks...
|
|
Phase 5 - rebuild AG headers and trees...
|
|
- reset superblock...
|
|
Phase 6 - check inode connectivity...
|
|
- resetting contents of realtime bitmap and summary inodes
|
|
- ensuring existence of lost+found directory
|
|
- traversing filesystem starting at / ...
|
|
- traversal finished ...
|
|
- traversing all unattached subtrees ...
|
|
- traversals finished ...
|
|
- moving disconnected inodes to lost+found ...
|
|
Phase 7 - verify and correct link counts...
|
|
done
|