xfs
[Top] [All Lists]

xfs_repair gives up

To: xfs@xxxxxxxxxxx
Subject: xfs_repair gives up
From: Franz Sirl <Franz.Sirl@xxxxxxxxxxxxxx>
Date: Mon, 29 Oct 2012 15:46:04 +0100
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20121010 Thunderbird/16.0.1
Hi,

xfs_repair told me to send this message. One drive of our RAID5 went bad and seemingly destroyed 2 XFS partitions beyond repair manageable by xfs_repair.

The system was SLES11SP2/32bit, but for diagnostics/repair (after trying with a SLES11 rescue-CD for a while) I moved the RAID5 to an openSUSE12.2/32bit server. On this system I got these messages during xfs_repair:

a) sda5-partition (dd-ed to a file):
tmpsrv1:~ # xfs_repair -P -f /home/dd_sda5
...
bad hash table for directory inode 129881639 (no data entry): rebuilding
rebuilding directory inode 129881639
bad hash table for directory inode 129883366 (no data entry): rebuilding
rebuilding directory inode 129883366
bad hash table for directory inode 129883376 (no data entry): rebuilding
rebuilding directory inode 129883376
corrupt dinode 129886243, extent total = 1, nblocks = 0.  This is a bug.
Please capture the filesystem metadata with xfs_metadump and
report it to xfs@xxxxxxxxxxxx
cache_node_purge: refcount was 1, not zero (node=0xcc0f4c8)

fatal error -- couldn't map inode 129886243, err = 117
tmpsrv1:~ #

Unfortunately I cannot attach the metadump because xfs_metadump crashes like this:

tmpsrv1:~ # xfs_metadump -f /home/dd_sda5 /home/xfs_metadump-sda5
*** glibc detected *** xfs_db: double free or corruption (!prev): 0x09999000 ***
======= Backtrace: =========
/lib/libc.so.6(+0x72ac2)[0xb7595ac2]
xfs_db[0x8064e7b]
xfs_db[0x80639ad]
xfs_db[0x806785e]
xfs_db[0x8065beb]
xfs_db[0x80679bd]
xfs_db[0x8065beb]
xfs_db[0x8068c3a]
xfs_db[0x805bcae]
xfs_db[0x804f4e8]
/lib/libc.so.6(__libc_start_main+0xf5)[0xb753c3d5]
xfs_db[0x804f5c1]
======= Memory map: ========
08048000-080be000 r-xp 00000000 08:11 1449871    /usr/sbin/xfs_db
080bf000-080c4000 r--p 00076000 08:11 1449871    /usr/sbin/xfs_db
080c4000-080c5000 rw-p 0007b000 08:11 1449871    /usr/sbin/xfs_db
080c5000-080d4000 rw-p 00000000 00:00 0
09976000-099b9000 rw-p 00000000 00:00 0          [heap]
b746d000-b7489000 r-xp 00000000 08:11 1966949    /lib/libgcc_s.so.1
b7489000-b748a000 r--p 0001b000 08:11 1966949    /lib/libgcc_s.so.1
b748a000-b748b000 rw-p 0001c000 08:11 1966949    /lib/libgcc_s.so.1
b74a1000-b74e2000 rw-p 00000000 00:00 0
b74e2000-b7521000 r--p 00000000 08:11 1185316 /usr/lib/locale/en_US.utf8/LC_CTYPE
b7521000-b7523000 rw-p 00000000 00:00 0
b7523000-b76c2000 r-xp 00000000 08:11 1967025    /lib/libc-2.15.so
b76c2000-b76c3000 ---p 0019f000 08:11 1967025    /lib/libc-2.15.so
b76c3000-b76c5000 r--p 0019f000 08:11 1967025    /lib/libc-2.15.so
b76c5000-b76c6000 rw-p 001a1000 08:11 1967025    /lib/libc-2.15.so
b76c6000-b76c9000 rw-p 00000000 00:00 0
b76c9000-b76e0000 r-xp 00000000 08:11 1966885 /lib/libpthread-2.15.so
b76e0000-b76e1000 r--p 00016000 08:11 1966885 /lib/libpthread-2.15.so
b76e1000-b76e2000 rw-p 00017000 08:11 1966885 /lib/libpthread-2.15.so
b76e2000-b76e4000 rw-p 00000000 00:00 0
b76e4000-b76e8000 r-xp 00000000 08:11 1185025 /usr/lib/libuuid.so.1.3.0
b76e8000-b76e9000 r--p 00003000 08:11 1185025 /usr/lib/libuuid.so.1.3.0
b76e9000-b76ea000 rw-p 00004000 08:11 1185025 /usr/lib/libuuid.so.1.3.0
b76f7000-b76f9000 rw-p 00000000 00:00 0
b76f9000-b7700000 r--s 00000000 08:11 1443467 /usr/lib/gconv/gconv-modules.cache
b7700000-b7701000 rw-p 00000000 00:00 0
b7701000-b7702000 r-xp 00000000 00:00 0          [vdso]
b7702000-b7723000 r-xp 00000000 08:11 1966963    /lib/ld-2.15.so
b7723000-b7724000 r--p 00020000 08:11 1966963    /lib/ld-2.15.so
b7724000-b7725000 rw-p 00021000 08:11 1966963    /lib/ld-2.15.so
bfca5000-bfcc6000 rw-p 00000000 00:00 0          [stack]
/usr/sbin/xfs_metadump: line 31: 3006 Aborted xfs_db$DBOPTS -F -i -p xfs_metadump -c "metadump$OPTS $2" $1
tmpsrv1:~ #


b) sda6-partition (dd-ed to a file):
tmpsrv1:~ # xfs_repair -P -f /home/dd_sda6
...
disconnected inode 25230027, moving to lost+found
disconnected inode 25230028, moving to lost+found
disconnected inode 25230029, moving to lost+found
disconnected inode 25230034, moving to lost+found
corrupt dinode 25230034, extent total = 1, nblocks = 0.  This is a bug.
Please capture the filesystem metadata with xfs_metadump and
report it to xfs@xxxxxxxxxxxx
cache_node_purge: refcount was 1, not zero (node=0x9fd5a58)

fatal error -- 117 - couldn't iget disconnected inode
tmpsrv1:~ #

And here xfs_metadump crashes like this:

tmpsrv1:~ # xfs_metadump -f /home/dd_sda6 /home/xfs_metadump-sda6
xfs_metadump: duplicate name for inode 0 in dir inode 16812354

/usr/sbin/xfs_metadump: line 31: 3009 Segmentation fault xfs_db$DBOPTS -F -i -p xfs_metadump -c "metadump$OPTS $2" $1
tmpsrv1:~ #


Is there any hope to repair these filesystems? I can mount them, but a lot of directories are not accessible.

Thanks,
Franz Sirl

--
-------------------------------------------------------------------------
phone  +49 8102 9876-144               mail  Lauterbach GmbH
fax    +49 8102 9876-170                     c/o Franz Sirl
URLs   <mailto:franz.sirl@xxxxxxxxxxxxxx>    Altlaufstr. 40
       <http://www.lauterbach.com>           D-85635 Hoehenkirchen
       <ftp://ftp.lauterbach.com>            Germany
-------------------------------------------------------------------------

Attachment: xfs_repair-sda5.log.bz2
Description: Binary data

Attachment: xfs_repair-sda6.log.bz2
Description: Binary data

<Prev in Thread] Current Thread [Next in Thread>
  • xfs_repair gives up, Franz Sirl <=