xfs
[Top] [All Lists]

ADD 801241 - xfsdump can cause filesystem corruption

To: nb@xxxxxxx
Subject: ADD 801241 - xfsdump can cause filesystem corruption
From: pv@xxxxxxxxxxxxx (dxm@xxxxxxxxxxxx)
Date: Sun, 10 Sep 2000 19:07:25 -0700 (PDT)
Cc: linux-xfs@xxxxxxxxxxx
Reply-to: sgi.bugs.xfs@xxxxxxxxxxxxxxxxx
Sender: owner-linux-xfs@xxxxxxxxxxx
Webexec: webpvupdate,pvincident
Webpv: clouds.melbourne.sgi.com
View Incident: 
http://co-op.engr.sgi.com/BugWorks/code/bwxquery.cgi?search=Search&wlong=1&view_type=Bug&wi=801241

 Status : open                         Priority : 1                         
 Assigned Engineer : nb                Submitter : ivanr                    
*Modified User : dxm                  *Modified User Domain : engr          
*Description :
QA for xfsdump/xfsrestore revealed that it is possible for
xfsdump to cause filesystem corruption.  The test involves
creating a filesystem, creating a whole buncha files, xfsdumping
them to a file somewhere, then removing all the files.  xfs_check
reports lots of inodes with zero link counts, etc.  It's probably
due to xfsdump using bulkstat on the entire fs.

The following is a script which will reliably (at least on
bruce.melbourne) produce the error.  Run it in cmd/xfs/stress -
it needs the src/fill program, and make sure you fix the

.....


==========================
ADDITIONAL INFORMATION (ADD)
From: dxm@engr (BugWorks)
Date: Sep 10 2000 07:07:25PM
==========================

Note that the dump/restore tests that require a tape
drive to run will just fake their output, so without
an actual tape drive, QA 026, 027 and 028 are the way
to go. 026 reliably causes corruption for me:

*** xfs_check output ***
agi unlinked bucket 3 is 131 in ag 0
agi unlinked bucket 4 is 132 in ag 0
agi unlinked bucket 5 is 133 in ag 0
agi unlinked bucket 0 is 128 in ag 1
agi unlinked bucket 1 is 129 in ag 1
agi unlinked bucket 2 is 130 in ag 1
agi unlinked bucket 3 is 131 in ag 1
agi unlinked bucket 4 is 132 in ag 1
agi unlinked bucket 5 is 133 in ag 1
agi unlinked bucket 6 is 134 in ag 1
agi unlinked bucket 7 is 135 in ag 1
agi unlinked bucket 8 is 136 in ag 1
agi unlinked bucket 9 is 137 in ag 1
agi unlinked bucket 10 is 138 in ag 1
agi unlinked bucket 11 is 139 in ag 1
agi unlinked bucket 12 is 140 in ag 1
agi unlinked bucket 13 is 141 in ag 1
agi unlinked bucket 14 is 142 in ag 1
agi unlinked bucket 15 is 143 in ag 1
agi unlinked bucket 16 is 144 in ag 1
agi unlinked bucket 17 is 145 in ag 1
agi unlinked bucket 18 is 146 in ag 1
agi unlinked bucket 19 is 147 in ag 1
agi unlinked bucket 20 is 148 in ag 1
agi unlinked bucket 21 is 149 in ag 1
agi unlinked bucket 22 is 150 in ag 1
agi unlinked bucket 23 is 151 in ag 1
agi unlinked bucket 24 is 152 in ag 1
agi unlinked bucket 25 is 153 in ag 1
agi unlinked bucket 26 is 154 in ag 1
agi unlinked bucket 27 is 155 in ag 1
agi unlinked bucket 28 is 156 in ag 1
agi unlinked bucket 29 is 157 in ag 1
agi unlinked bucket 30 is 158 in ag 1
agi unlinked bucket 31 is 159 in ag 1
agi unlinked bucket 32 is 160 in ag 1
agi unlinked bucket 33 is 161 in ag 1
agi unlinked bucket 34 is 162 in ag 1
link count mismatch for inode 128 (name ?), nlink 2, counted 3
link count mismatch for inode 131 (name ?), nlink 0, counted 2
allocated inode 132 has 0 link count
allocated inode 133 has 0 link count
link count mismatch for inode 131200 (name ?), nlink 0, counted 1
allocated inode 131201 has 0 link count
allocated inode 131202 has 0 link count
allocated inode 131203 has 0 link count
allocated inode 131204 has 0 link count
allocated inode 131205 has 0 link count
allocated inode 131206 has 0 link count
allocated inode 131207 has 0 link count
:q!
dxm@snort ~/isms/irix6.5m/eoe/cmd/xfs/stress> cat ~/after_026.full
_check_fs: filesystem on /dev/hda6 is inconsistent
*** xfs_check output ***
agi unlinked bucket 3 is 131 in ag 0
agi unlinked bucket 4 is 132 in ag 0
agi unlinked bucket 5 is 133 in ag 0
agi unlinked bucket 0 is 128 in ag 1
agi unlinked bucket 1 is 129 in ag 1
agi unlinked bucket 2 is 130 in ag 1
agi unlinked bucket 3 is 131 in ag 1
agi unlinked bucket 4 is 132 in ag 1
agi unlinked bucket 5 is 133 in ag 1
agi unlinked bucket 6 is 134 in ag 1
agi unlinked bucket 7 is 135 in ag 1
agi unlinked bucket 8 is 136 in ag 1
agi unlinked bucket 9 is 137 in ag 1
agi unlinked bucket 10 is 138 in ag 1
agi unlinked bucket 11 is 139 in ag 1
agi unlinked bucket 12 is 140 in ag 1
agi unlinked bucket 13 is 141 in ag 1
agi unlinked bucket 14 is 142 in ag 1
agi unlinked bucket 15 is 143 in ag 1
agi unlinked bucket 16 is 144 in ag 1
agi unlinked bucket 17 is 145 in ag 1
agi unlinked bucket 18 is 146 in ag 1
agi unlinked bucket 19 is 147 in ag 1
agi unlinked bucket 20 is 148 in ag 1
agi unlinked bucket 21 is 149 in ag 1
agi unlinked bucket 22 is 150 in ag 1
agi unlinked bucket 23 is 151 in ag 1
agi unlinked bucket 24 is 152 in ag 1
agi unlinked bucket 25 is 153 in ag 1
agi unlinked bucket 26 is 154 in ag 1
agi unlinked bucket 27 is 155 in ag 1
agi unlinked bucket 28 is 156 in ag 1
agi unlinked bucket 29 is 157 in ag 1
agi unlinked bucket 30 is 158 in ag 1
agi unlinked bucket 31 is 159 in ag 1
agi unlinked bucket 32 is 160 in ag 1
agi unlinked bucket 33 is 161 in ag 1
agi unlinked bucket 34 is 162 in ag 1
link count mismatch for inode 128 (name ?), nlink 2, counted 3
link count mismatch for inode 131 (name ?), nlink 0, counted 2
allocated inode 132 has 0 link count
allocated inode 133 has 0 link count
link count mismatch for inode 131200 (name ?), nlink 0, counted 1
allocated inode 131201 has 0 link count
allocated inode 131202 has 0 link count
allocated inode 131203 has 0 link count
allocated inode 131204 has 0 link count
allocated inode 131205 has 0 link count
allocated inode 131206 has 0 link count
allocated inode 131207 has 0 link count
allocated inode 131208 has 0 link count
allocated inode 131209 has 0 link count
allocated inode 131210 has 0 link count
allocated inode 131211 has 0 link count
allocated inode 131212 has 0 link count
allocated inode 131213 has 0 link count
allocated inode 131214 has 0 link count
allocated inode 131215 has 0 link count
allocated inode 131216 has 0 link count
allocated inode 131217 has 0 link count
allocated inode 131218 has 0 link count
allocated inode 131219 has 0 link count
allocated inode 131220 has 0 link count
allocated inode 131221 has 0 link count
allocated inode 131222 has 0 link count
allocated inode 131223 has 0 link count
allocated inode 131224 has 0 link count
allocated inode 131225 has 0 link count
allocated inode 131226 has 0 link count
allocated inode 131227 has 0 link count
allocated inode 131228 has 0 link count
allocated inode 131229 has 0 link count
allocated inode 131230 has 0 link count
allocated inode 131231 has 0 link count
allocated inode 131232 has 0 link count
allocated inode 131233 has 0 link count
allocated inode 131234 has 0 link count
***
_check_fs: filesystem on /dev/hda6 is inconsistent
*** xfs_repair -n output ***
Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - scan filesystem freespace and inode maps...
        - found root inode chunk
Phase 3 - for each AG...
        - scan (but don't clear) agi unlinked lists...
error following ag 0 unlinked list
error following ag 1 unlinked list
        - process known inodes and perform inode discovery...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - agno = 4
        - agno = 5
        - agno = 6
        - agno = 7
        - 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
        - agno = 4
        - agno = 5
        - agno = 6
        - agno = 7
No modify flag set, skipping phase 5
Phase 6 - check inode connectivity...
        - traversing filesystem starting at / ... 
        - traversal finished ... 
        - traversing all unattached subtrees ... 
        - traversals finished ... 
        - moving disconnected inodes to lost+found ... 
disconnected dir inode 131, would move to lost+found
disconnected inode 132, would move to lost+found
disconnected inode 133, would move to lost+found
disconnected dir inode 131200, would move to lost+found
disconnected inode 131201, would move to lost+found
disconnected inode 131202, would move to lost+found
disconnected inode 131203, would move to lost+found
disconnected inode 131204, would move to lost+found
disconnected inode 131205, would move to lost+found
disconnected inode 131206, would move to lost+found
disconnected inode 131207, would move to lost+found
disconnected inode 131208, would move to lost+found
disconnected inode 131209, would move to lost+found
disconnected inode 131210, would move to lost+found
disconnected inode 131211, would move to lost+found
disconnected inode 131212, would move to lost+found
disconnected inode 131213, would move to lost+found
disconnected inode 131214, would move to lost+found
disconnected inode 131215, would move to lost+found
disconnected inode 131216, would move to lost+found
disconnected inode 131217, would move to lost+found
disconnected inode 131218, would move to lost+found
disconnected inode 131219, would move to lost+found
disconnected inode 131220, would move to lost+found
disconnected inode 131221, would move to lost+found
disconnected inode 131222, would move to lost+found
disconnected inode 131223, would move to lost+found
disconnected inode 131224, would move to lost+found
disconnected inode 131225, would move to lost+found
disconnected inode 131226, would move to lost+found
disconnected inode 131227, would move to lost+found
disconnected inode 131228, would move to lost+found
disconnected inode 131229, would move to lost+found
disconnected inode 131230, would move to lost+found
disconnected inode 131231, would move to lost+found
disconnected inode 131232, would move to lost+found
disconnected inode 131233, would move to lost+found
disconnected inode 131234, would move to lost+found
Phase 7 - verify link counts...
would have reset inode 131 nlinks from 0 to 2
would have reset inode 132 nlinks from 0 to 1
would have reset inode 133 nlinks from 0 to 1
would have reset inode 131200 nlinks from 0 to 2
would have reset inode 131201 nlinks from 0 to 1
would have reset inode 131202 nlinks from 0 to 1
would have reset inode 131203 nlinks from 0 to 1
would have reset inode 131204 nlinks from 0 to 1
would have reset inode 131205 nlinks from 0 to 1
would have reset inode 131206 nlinks from 0 to 1
would have reset inode 131207 nlinks from 0 to 1
would have reset inode 131208 nlinks from 0 to 1
would have reset inode 131209 nlinks from 0 to 1
would have reset inode 131210 nlinks from 0 to 1
would have reset inode 131211 nlinks from 0 to 1
would have reset inode 131212 nlinks from 0 to 1
would have reset inode 131213 nlinks from 0 to 1
would have reset inode 131214 nlinks from 0 to 1
would have reset inode 131215 nlinks from 0 to 1
would have reset inode 131216 nlinks from 0 to 1
would have reset inode 131217 nlinks from 0 to 1
would have reset inode 131218 nlinks from 0 to 1
would have reset inode 131219 nlinks from 0 to 1
would have reset inode 131220 nlinks from 0 to 1
would have reset inode 131221 nlinks from 0 to 1
would have reset inode 131222 nlinks from 0 to 1
would have reset inode 131223 nlinks from 0 to 1
would have reset inode 131224 nlinks from 0 to 1
would have reset inode 131225 nlinks from 0 to 1
would have reset inode 131226 nlinks from 0 to 1
would have reset inode 131227 nlinks from 0 to 1
would have reset inode 131228 nlinks from 0 to 1
would have reset inode 131229 nlinks from 0 to 1
would have reset inode 131230 nlinks from 0 to 1
would have reset inode 131231 nlinks from 0 to 1
would have reset inode 131232 nlinks from 0 to 1
would have reset inode 131233 nlinks from 0 to 1
would have reset inode 131234 nlinks from 0 to 1
No modify flag set, skipping filesystem flush and exiting.
***
*** mount output ***
/initrd/dev/hda1 on / type ext2 (ro)
/initrd/dev/ram0 on /initrd type unknown (rw)
none on /initrd/dev/pts type devpts (rw,gid=5,mode=620)
none on /initrd/var/shm type shm (rw)
snort:/build1 on /mnt/snort/build1 type nfs 
(rw,addr=134.14.55.149,addr=134.14.55.149)
none on /proc type proc (rw)
/initrd/dev/hda6 on /mnt/arch0 type xfs (rw)

<Prev in Thread] Current Thread [Next in Thread>