Bug#423562: linux-image-2.6-ixp4xx: XFS-filesystem crashes
Copying Eric Sandeen. Eric: this is with the XFS patch that calls
flush_dcache_page() you sent me about a week ago.
* Tobias Frost <tobi@frost.de> [2009-11-21 13:13]:
> I just did some testing on the kernel you supplied. Unfortunately I see
> the corruptions again. They pop up when removing files.
> See the attached log for details....
>
>
> coldtobi
>
>
> On Tue, 2009-11-17 at 20:50 +0000, Martin Michlmayr wrote:
> > * Tobias Frost <tobi@frost.de> [2009-11-16 20:43]:
> > > Sure. Just send me the link to the kernel and I will test it on the
> > > weekend.
> >
> > Here: http://merkel.debian.org/~tbm/tmp/kernel/xfs/
> >
>
> thecus:/mnt# uname -a
> Linux thecus 2.6.31-1-iop32x #1 Tue Nov 17 18:16:37 UTC 2009 armv5tel GNU/Linux
> thecus:/mnt# dpkg -l xfsprogs
> Desired=Unknown/Install/Remove/Purge/Hold
> | Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
> |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
> ||/ Name Version Description
> +++-==============-==============-============================================
> ii xfsprogs 3.0.4 Utilities for managing the XFS filesystem
>
> thecus:~# mkfs.xfs /dev/md1
> mkfs.xfs: /dev/md1 appears to contain an existing filesystem (swap).
> mkfs.xfs: Use the -f option to force overwrite.
> thecus:~# mkfs.xfs -f /dev/md1
> meta-data=/dev/md1 isize=256 agcount=4, agsize=121988 blks
> = sectsz=512 attr=2
> data = bsize=4096 blocks=487952, imaxpct=25
> = sunit=0 swidth=0 blks
> naming =version 2 bsize=4096 ascii-ci=0
> log =internal log bsize=4096 blocks=2560, version=2
> = sectsz=512 sunit=0 blks, lazy-count=0
> realtime =none extsz=4096 blocks=0, rtextents=0
> thecus:~# mkdir /mnt/xfs
> thecus:~# mkfs.xfs -f /dev/md1
> dir /mnt/xfs
>
> thecus:~# mount /dev/md1 /mnt/xfs
> [ 736.840000] SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled
> [ 736.890000] SGI XFS Quota Management subsystem
> [ 736.960000] XFS mounting filesystem md1
> thecus:~# cd /mnt/xfs
> thecus:/mnt/xfs# tail -3 /var/log/syslog
> Nov 21 12:03:50 thecus kernel: [ 736.890000] SGI XFS Quota Management subsystem
> Nov 21 12:03:50 thecus kernel: [ 736.960000] XFS mounting filesystem md1
> Nov 21 12:03:55 thecus kernel: [ 742.110000] Ending clean XFS mount for filesystem: md1
> thecus:/mnt/xfs# wget 'http://sourceforge.net/projects/ltp/files/LTP%20Source/ltp-20091031/ltp-full-20091031.tgz/download' -O ltp-full.tar.gz
> (.. lines omitted ..)
> thecus:/mnt/xfs# tar xzf ltp-full.tar.gz
> thecus:/mnt/xfs# rm -rf ltp-full-20091031/
> rm: cannot remove directory `ltp-full-20091031/testcases/kernel/syscalls': Directory not empty
> rm: cannot remove directory `ltp-full-20091031/testcases/ballista/ballista/outfiles': Directory not empty
> rm: cannot remove directory `ltp-full-20091031/testcases/open_posix_testsuite/conformance/interfaces': Directory not empty
> rm: cannot remove directory `ltp-full-20091031/testcases/network/rpc/rpc-tirpc-full-test-suite': Directory not empty
> rm: cannot remove directory `ltp-full-20091031/testcases/open_hpi_testsuite/utils/t/epath': Directory not empty
> thecus:/mnt/xfs# dmesg
>
> 0000:00:04.1
> [ 107.750000] RPC: Registered udp transport module.
> [ 107.750000] RPC: Registered tcp transport module.
> [ 107.970000] Slow work thread pool: Starting up
> [ 107.990000] Slow work thread pool: Ready
> [ 107.990000] FS-Cache: Loaded
> [ 108.260000] FS-Cache: Netfs 'nfs' registered for caching
> [ 108.470000] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
> [ 736.840000] SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled
> [ 736.890000] SGI XFS Quota Management subsystem
> [ 736.960000] XFS mounting filesystem md1
> [ 742.110000] Ending clean XFS mount for filesystem: md1
> [ 1355.050000] c08f8000: 58 46 53 42 00 00 10 00 00 00 00 00 00 07 72 10 XFSB..........r.
> [ 1355.060000] Filesystem "md1": XFS internal error xfs_da_do_buf(2) at line 2112 of file /home/tbm/kernel/xfs/linux-2.6-2.6.31/debian/build/source_armel_none/fs/xfs/xfs_da_btree.c. Caller 0xbf3a8130
> [ 1355.060000]
> [ 1355.080000] Backtrace:
> [ 1355.080000] [<c0025e20>] (dump_backtrace+0x0/0x108) from [<c00262c8>] (dump_stack+0x18/0x1c)
> [ 1355.090000] r6:00000001 r5:bf3e7948 r4:bf3e7948
> [ 1355.090000] [<c00262b0>] (dump_stack+0x0/0x1c) from [<bf3b5158>] (xfs_error_report+0x4c/0x5c [xfs])
> [ 1355.100000] [<bf3b510c>] (xfs_error_report+0x0/0x5c [xfs]) from [<bf3b51c4>] (xfs_corruption_error+0x5c/0x68 [xfs])
> [ 1355.110000] r4:c2de0c00
> [ 1355.110000] [<bf3b5168>] (xfs_corruption_error+0x0/0x68 [xfs]) from [<bf3a7fa8>] (xfs_da_do_buf+0x550/0x64c [xfs])
> [ 1355.130000] r6:bf3a8130 r5:00000000 r4:c2e4f438
> [ 1355.130000] [<bf3a7a58>] (xfs_da_do_buf+0x0/0x64c [xfs]) from [<bf3a8130>] (xfs_da_read_buf+0x34/0x3c [xfs])
> [ 1355.140000] [<bf3a80fc>] (xfs_da_read_buf+0x0/0x3c [xfs]) from [<bf3ae574>] (xfs_dir2_leaf_getdents+0x478/0x8e4 [xfs])
> [ 1355.150000] [<bf3ae0fc>] (xfs_dir2_leaf_getdents+0x0/0x8e4 [xfs]) from [<bf3aa664>] (xfs_readdir+0xcc/0xe0 [xfs])
> [ 1355.160000] [<bf3aa598>] (xfs_readdir+0x0/0xe0 [xfs]) from [<bf3ddebc>] (xfs_file_readdir+0x50/0x68 [xfs])
> [ 1355.180000] [<bf3dde6c>] (xfs_file_readdir+0x0/0x68 [xfs]) from [<c00a7468>] (vfs_readdir+0x84/0xb8)
> [ 1355.190000] r5:00000000 r4:c6ae0a60
> [ 1355.190000] [<c00a73e4>] (vfs_readdir+0x0/0xb8) from [<c00a7508>] (sys_getdents64+0x6c/0xbc)
> [ 1355.200000] [<c00a749c>] (sys_getdents64+0x0/0xbc) from [<c0021dc0>] (ret_fast_syscall+0x0/0x3c)
> [ 1355.210000] r7:000000d9 r6:00000002 r5:00000000 r4:00026860
> [ 1355.960000] c60d7000: 58 46 53 42 00 00 10 00 00 00 00 00 00 07 72 10 XFSB..........r.
> [ 1355.960000] Filesystem "md1": XFS internal error xfs_da_do_buf(2) at line 2112 of file /home/tbm/kernel/xfs/linux-2.6-2.6.31/debian/build/source_armel_none/fs/xfs/xfs_da_btree.c. Caller 0xbf3a8130
> [ 1355.960000]
> [ 1355.990000] Backtrace:
> [ 1355.990000] [<c0025e20>] (dump_backtrace+0x0/0x108) from [<c00262c8>] (dump_stack+0x18/0x1c)
> [ 1355.990000] r6:00000001 r5:bf3e7948 r4:bf3e7948
> [ 1356.000000] [<c00262b0>] (dump_stack+0x0/0x1c) from [<bf3b5158>] (xfs_error_report+0x4c/0x5c [xfs])
> [ 1356.010000] [<bf3b510c>] (xfs_error_report+0x0/0x5c [xfs]) from [<bf3b51c4>] (xfs_corruption_error+0x5c/0x68 [xfs])
> [ 1356.020000] r4:c2de0c00
> [ 1356.020000] [<bf3b5168>] (xfs_corruption_error+0x0/0x68 [xfs]) from [<bf3a7fa8>] (xfs_da_do_buf+0x550/0x64c [xfs])
> [ 1356.030000] r6:bf3a8130 r5:00000000 r4:c2e4f438
> [ 1356.040000] [<bf3a7a58>] (xfs_da_do_buf+0x0/0x64c [xfs]) from [<bf3a8130>] (xfs_da_read_buf+0x34/0x3c [xfs])
> [ 1356.050000] [<bf3a80fc>] (xfs_da_read_buf+0x0/0x3c [xfs]) from [<bf3ae574>] (xfs_dir2_leaf_getdents+0x478/0x8e4 [xfs])
> [ 1356.060000] [<bf3ae0fc>] (xfs_dir2_leaf_getdents+0x0/0x8e4 [xfs]) from [<bf3aa664>] (xfs_readdir+0xcc/0xe0 [xfs])
> [ 1356.070000] [<bf3aa598>] (xfs_readdir+0x0/0xe0 [xfs]) from [<bf3ddebc>] (xfs_file_readdir+0x50/0x68 [xfs])
> [ 1356.080000] [<bf3dde6c>] (xfs_file_readdir+0x0/0x68 [xfs]) from [<c00a7468>] (vfs_readdir+0x84/0xb8)
> [ 1356.090000] r5:00000000 r4:c7089920
> [ 1356.100000] [<c00a73e4>] (vfs_readdir+0x0/0xb8) from [<c00a7508>] (sys_getdents64+0x6c/0xbc)
> [ 1356.110000] [<c00a749c>] (sys_getdents64+0x0/0xbc) from [<c0021dc0>] (ret_fast_syscall+0x0/0x3c)
> [ 1356.110000] r7:000000d9 r6:00000002 r5:00000000 r4:00027ba0
> [ 1357.760000] c63be000: 58 46 53 42 00 00 10 00 00 00 00 00 00 07 72 10 XFSB..........r.
> [ 1357.770000] Filesystem "md1": XFS internal error xfs_da_do_buf(2) at line 2112 of file /home/tbm/kernel/xfs/linux-2.6-2.6.31/debian/build/source_armel_none/fs/xfs/xfs_da_btree.c. Caller 0xbf3a8130
> [ 1357.770000]
> [ 1357.790000] Backtrace:
> [ 1357.790000] [<c0025e20>] (dump_backtrace+0x0/0x108) from [<c00262c8>] (dump_stack+0x18/0x1c)
> [ 1357.800000] r6:00000001 r5:bf3e7948 r4:bf3e7948
> [ 1357.810000] [<c00262b0>] (dump_stack+0x0/0x1c) from [<bf3b5158>] (xfs_error_report+0x4c/0x5c [xfs])
> [ 1357.820000] [<bf3b510c>] (xfs_error_report+0x0/0x5c [xfs]) from [<bf3b51c4>] (xfs_corruption_error+0x5c/0x68 [xfs])
> [ 1357.830000] r4:c2de0c00
> [ 1357.830000] [<bf3b5168>] (xfs_corruption_error+0x0/0x68 [xfs]) from [<bf3a7fa8>] (xfs_da_do_buf+0x550/0x64c [xfs])
> [ 1357.850000] r6:bf3a8130 r5:00000000 r4:c2e4f438
> [ 1357.850000] [<bf3a7a58>] (xfs_da_do_buf+0x0/0x64c [xfs]) from [<bf3a8130>] (xfs_da_read_buf+0x34/0x3c [xfs])
> [ 1357.860000] [<bf3a80fc>] (xfs_da_read_buf+0x0/0x3c [xfs]) from [<bf3ae574>] (xfs_dir2_leaf_getdents+0x478/0x8e4 [xfs])
> [ 1357.880000] [<bf3ae0fc>] (xfs_dir2_leaf_getdents+0x0/0x8e4 [xfs]) from [<bf3aa664>] (xfs_readdir+0xcc/0xe0 [xfs])
> [ 1357.890000] [<bf3aa598>] (xfs_readdir+0x0/0xe0 [xfs]) from [<bf3ddebc>] (xfs_file_readdir+0x50/0x68 [xfs])
> [ 1357.900000] [<bf3dde6c>] (xfs_file_readdir+0x0/0x68 [xfs]) from [<c00a7468>] (vfs_readdir+0x84/0xb8)
> [ 1357.910000] r5:00000000 r4:c620dea0
> [ 1357.920000] [<c00a73e4>] (vfs_readdir+0x0/0xb8) from [<c00a7508>] (sys_getdents64+0x6c/0xbc)
> [ 1357.930000] [<c00a749c>] (sys_getdents64+0x0/0xbc) from [<c0021dc0>] (ret_fast_syscall+0x0/0x3c)
> [ 1357.940000] r7:000000d9 r6:00000002 r5:00000000 r4:00027be0
> [ 1359.740000] c60d7000: 58 46 53 42 00 00 10 00 00 00 00 00 00 07 72 10 XFSB..........r.
> [ 1359.760000] Filesystem "md1": XFS internal error xfs_da_do_buf(2) at line 2112 of file /home/tbm/kernel/xfs/linux-2.6-2.6.31/debian/build/source_armel_none/fs/xfs/xfs_da_btree.c. Caller 0xbf3a8130
> [ 1359.760000]
> [ 1359.780000] Backtrace:
> [ 1359.780000] [<c0025e20>] (dump_backtrace+0x0/0x108) from [<c00262c8>] (dump_stack+0x18/0x1c)
> [ 1359.790000] r6:00000001 r5:bf3e7948 r4:bf3e7948
> [ 1359.790000] [<c00262b0>] (dump_stack+0x0/0x1c) from [<bf3b5158>] (xfs_error_report+0x4c/0x5c [xfs])
> [ 1359.800000] [<bf3b510c>] (xfs_error_report+0x0/0x5c [xfs]) from [<bf3b51c4>] (xfs_corruption_error+0x5c/0x68 [xfs])
> [ 1359.820000] r4:c2de0c00
> [ 1359.820000] [<bf3b5168>] (xfs_corruption_error+0x0/0x68 [xfs]) from [<bf3a7fa8>] (xfs_da_do_buf+0x550/0x64c [xfs])
> [ 1359.830000] r6:bf3a8130 r5:00000000 r4:c2e4f438
> [ 1359.840000] [<bf3a7a58>] (xfs_da_do_buf+0x0/0x64c [xfs]) from [<bf3a8130>] (xfs_da_read_buf+0x34/0x3c [xfs])
> [ 1359.850000] [<bf3a80fc>] (xfs_da_read_buf+0x0/0x3c [xfs]) from [<bf3ae574>] (xfs_dir2_leaf_getdents+0x478/0x8e4 [xfs])
> [ 1359.860000] [<bf3ae0fc>] (xfs_dir2_leaf_getdents+0x0/0x8e4 [xfs]) from [<bf3aa664>] (xfs_readdir+0xcc/0xe0 [xfs])
> [ 1359.880000] [<bf3aa598>] (xfs_readdir+0x0/0xe0 [xfs]) from [<bf3ddebc>] (xfs_file_readdir+0x50/0x68 [xfs])
> [ 1359.890000] [<bf3dde6c>] (xfs_file_readdir+0x0/0x68 [xfs]) from [<c00a7468>] (vfs_readdir+0x84/0xb8)
> [ 1359.900000] r5:00000000 r4:c620dc20
> [ 1359.900000] [<c00a73e4>] (vfs_readdir+0x0/0xb8) from [<c00a7508>] (sys_getdents64+0x6c/0xbc)
> [ 1359.910000] [<c00a749c>] (sys_getdents64+0x0/0xbc) from [<c0021dc0>] (ret_fast_syscall+0x0/0x3c)
> [ 1359.920000] r7:000000d9 r6:00000002 r5:00000000 r4:0001fc50
> [ 1360.280000] c08f8000: 58 46 53 42 00 00 10 00 00 00 00 00 00 07 72 10 XFSB..........r.
> [ 1360.300000] Filesystem "md1": XFS internal error xfs_da_do_buf(2) at line 2112 of file /home/tbm/kernel/xfs/linux-2.6-2.6.31/debian/build/source_armel_none/fs/xfs/xfs_da_btree.c. Caller 0xbf3a8130
> [ 1360.300000]
> [ 1360.320000] Backtrace:
> [ 1360.320000] [<c0025e20>] (dump_backtrace+0x0/0x108) from [<c00262c8>] (dump_stack+0x18/0x1c)
> [ 1360.320000] r6:00000001 r5:bf3e7948 r4:bf3e7948
> [ 1360.330000] [<c00262b0>] (dump_stack+0x0/0x1c) from [<bf3b5158>] (xfs_error_report+0x4c/0x5c [xfs])
> [ 1360.340000] [<bf3b510c>] (xfs_error_report+0x0/0x5c [xfs]) from [<bf3b51c4>] (xfs_corruption_error+0x5c/0x68 [xfs])
> [ 1360.350000] r4:c2de0c00
> [ 1360.360000] [<bf3b5168>] (xfs_corruption_error+0x0/0x68 [xfs]) from [<bf3a7fa8>] (xfs_da_do_buf+0x550/0x64c [xfs])
> [ 1360.370000] r6:bf3a8130 r5:00000000 r4:c2e4f438
> [ 1360.370000] [<bf3a7a58>] (xfs_da_do_buf+0x0/0x64c [xfs]) from [<bf3a8130>] (xfs_da_read_buf+0x34/0x3c [xfs])
> [ 1360.390000] [<bf3a80fc>] (xfs_da_read_buf+0x0/0x3c [xfs]) from [<bf3ae574>] (xfs_dir2_leaf_getdents+0x478/0x8e4 [xfs])
> [ 1360.400000] [<bf3ae0fc>] (xfs_dir2_leaf_getdents+0x0/0x8e4 [xfs]) from [<bf3aa664>] (xfs_readdir+0xcc/0xe0 [xfs])
> [ 1360.410000] [<bf3aa598>] (xfs_readdir+0x0/0xe0 [xfs]) from [<bf3ddebc>] (xfs_file_readdir+0x50/0x68 [xfs])
> [ 1360.420000] [<bf3dde6c>] (xfs_file_readdir+0x0/0x68 [xfs]) from [<c00a7468>] (vfs_readdir+0x84/0xb8)
> [ 1360.440000] r5:00000000 r4:c56215c0
> [ 1360.440000] [<c00a73e4>] (vfs_readdir+0x0/0xb8) from [<c00a7508>] (sys_getdents64+0x6c/0xbc)
> [ 1360.450000] [<c00a749c>] (sys_getdents64+0x0/0xbc) from [<c0021dc0>] (ret_fast_syscall+0x0/0x3c)
> [ 1360.460000] r7:000000d9 r6:00000002 r5:00000000 r4:00027c70
>
> thecus:/mnt# cd ..
> thecus:/mnt# umount xfs
> thecus:/mnt# mount /mnt/xfs
>
> (note: no error!)
> Then i cd into the tree and travelled down a few directories... dmesg:
> [ 1597.350000] XFS mounting filesystem md1
> [ 1597.530000] Ending clean XFS mount for filesystem: md1
> [ 1627.470000] c6351000: 58 46 53 42 00 00 10 00 00 00 00 00 00 07 72 10 XFSB..........r.
> [ 1627.470000] Filesystem "md1": XFS internal error xfs_da_do_buf(2) at line 2112 of file /home/tbm/kernel/xfs/linux-2.6-2.6.31/debian/build/source_armel_none/fs/xfs/xfs_da_btree.c. Caller 0xbf3a8130
> [ 1627.470000]
> [ 1627.500000] Backtrace:
> [ 1627.500000] [<c0025e20>] (dump_backtrace+0x0/0x108) from [<c00262c8>] (dump_stack+0x18/0x1c)
> [ 1627.510000] r6:00000001 r5:bf3e7948 r4:bf3e7948
> [ 1627.510000] [<c00262b0>] (dump_stack+0x0/0x1c) from [<bf3b5158>] (xfs_error_report+0x4c/0x5c [xfs])
> [ 1627.520000] [<bf3b510c>] (xfs_error_report+0x0/0x5c [xfs]) from [<bf3b51c4>] (xfs_corruption_error+0x5c/0x68 [xfs])
> [ 1627.530000] r4:c2de0c00
> [ 1627.530000] [<bf3b5168>] (xfs_corruption_error+0x0/0x68 [xfs]) from [<bf3a7fa8>] (xfs_da_do_buf+0x550/0x64c [xfs])
> [ 1627.550000] r6:bf3a8130 r5:00000000 r4:c7707438
> [ 1627.550000] [<bf3a7a58>] (xfs_da_do_buf+0x0/0x64c [xfs]) from [<bf3a8130>] (xfs_da_read_buf+0x34/0x3c [xfs])
> [ 1627.560000] [<bf3a80fc>] (xfs_da_read_buf+0x0/0x3c [xfs]) from [<bf3ae574>] (xfs_dir2_leaf_getdents+0x478/0x8e4 [xfs])
> [ 1627.570000] [<bf3ae0fc>] (xfs_dir2_leaf_getdents+0x0/0x8e4 [xfs]) from [<bf3aa664>] (xfs_readdir+0xcc/0xe0 [xfs])
> [ 1627.580000] [<bf3aa598>] (xfs_readdir+0x0/0xe0 [xfs]) from [<bf3ddebc>] (xfs_file_readdir+0x50/0x68 [xfs])
> [ 1627.590000] [<bf3dde6c>] (xfs_file_readdir+0x0/0x68 [xfs]) from [<c00a7468>] (vfs_readdir+0x84/0xb8)
> [ 1627.600000] r5:00000000 r4:c620d3a0
> [ 1627.610000] [<c00a73e4>] (vfs_readdir+0x0/0xb8) from [<c00a7508>] (sys_getdents64+0x6c/0xbc)
> [ 1627.620000] [<c00a749c>] (sys_getdents64+0x0/0xbc) from [<c0021dc0>] (ret_fast_syscall+0x0/0x3c)
> [ 1627.630000] r7:000000d9 r6:001cefb1 r5:00000002 r4:00251038
> [ 1627.660000] c6351000: 58 46 53 42 00 00 10 00 00 00 00 00 00 07 72 10 XFSB..........r.
> [ 1627.670000] Filesystem "md1": XFS internal error xfs_da_do_buf(2) at line 2112 of file /home/tbm/kernel/xfs/linux-2.6-2.6.31/debian/build/source_armel_none/fs/xfs/xfs_da_btree.c. Caller 0xbf3a8130
> [ 1627.670000]
> [ 1627.690000] Backtrace:
> [ 1627.690000] [<c0025e20>] (dump_backtrace+0x0/0x108) from [<c00262c8>] (dump_stack+0x18/0x1c)
> [ 1627.700000] r6:00000001 r5:bf3e7948 r4:bf3e7948
> [ 1627.700000] [<c00262b0>] (dump_stack+0x0/0x1c) from [<bf3b5158>] (xfs_error_report+0x4c/0x5c [xfs])
> [ 1627.710000] [<bf3b510c>] (xfs_error_report+0x0/0x5c [xfs]) from [<bf3b51c4>] (xfs_corruption_error+0x5c/0x68 [xfs])
> [ 1627.720000] r4:c2de0c00
> [ 1627.730000] [<bf3b5168>] (xfs_corruption_error+0x0/0x68 [xfs]) from [<bf3a7fa8>] (xfs_da_do_buf+0x550/0x64c [xfs])
> [ 1627.740000] r6:bf3a8130 r5:00000000 r4:c7707438
> [ 1627.740000] [<bf3a7a58>] (xfs_da_do_buf+0x0/0x64c [xfs]) from [<bf3a8130>] (xfs_da_read_buf+0x34/0x3c [xfs])
> [ 1627.750000] [<bf3a80fc>] (xfs_da_read_buf+0x0/0x3c [xfs]) from [<bf3ae574>] (xfs_dir2_leaf_getdents+0x478/0x8e4 [xfs])
> [ 1627.770000] [<bf3ae0fc>] (xfs_dir2_leaf_getdents+0x0/0x8e4 [xfs]) from [<bf3aa664>] (xfs_readdir+0xcc/0xe0 [xfs])
> [ 1627.780000] [<bf3aa598>] (xfs_readdir+0x0/0xe0 [xfs]) from [<bf3ddebc>] (xfs_file_readdir+0x50/0x68 [xfs])
> [ 1627.790000] [<bf3dde6c>] (xfs_file_readdir+0x0/0x68 [xfs]) from [<c00a7468>] (vfs_readdir+0x84/0xb8)
> [ 1627.800000] r5:00000000 r4:c70894a0
> [ 1627.800000] [<c00a73e4>] (vfs_readdir+0x0/0xb8) from [<c00a7508>] (sys_getdents64+0x6c/0xbc)
> [ 1627.810000] [<c00a749c>] (sys_getdents64+0x0/0xbc) from [<c0021dc0>] (ret_fast_syscall+0x0/0x3c)
> [ 1627.820000] r7:000000d9 r6:0024e81a r5:00000075 r4:00251038
>
> thecus:/mnt# umount xfs
> thecus:/mnt# mount /dev/md1 /mnt/xfs
> mount: /dev/md1: can't read superblock
> thecus:/mnt# xfs_check /dev/md1
> ERROR: The filesystem has valuable metadata changes in a log which needs to
> be replayed. Mount the filesystem to replay the log, and unmount it before
> re-running xfs_check. If you are unable to mount the filesystem, then use
> the xfs_repair -L option to destroy the log and attempt a repair.
> Note that destroying the log may cause corruption -- please attempt a mount
> thecus:/mnt# xfs_repair /dev/md1
> Phase 1 - find and verify superblock...
> Phase 2 - using internal log
> - zero log...
> ERROR: The filesystem has valuable metadata changes in a log which needs to
> be replayed. Mount the filesystem to replay the log, and unmount it before
> re-running xfs_repair. If you are unable to mount the filesystem, then use
> the -L option to destroy the log and attempt a repair.
> Note that destroying the log may cause corruption -- please attempt a mount
> of the filesystem before doing this.
> thecus:/mnt# xfs_repair -L /dev/md1
> thecus:/mnt# xfs_repair -L /dev/md1
> Phase 1 - find and verify superblock...
> Phase 2 - using internal log
> - zero log...
> ALERT: The filesystem has valuable metadata changes in a log which is being
> destroyed because the -L option was used.
> - 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
> - 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
> - traversing filesystem ...
> - traversal finished ...
> - moving disconnected inodes to lost+found ...
> Phase 7 - verify and correct link counts...
> done
>
> This log hs been emitted probably at the first mounting try: (forgot to monitor syslog)
> [ 1862.770000] XFS mounting filesystem md1
> [ 1862.930000] Starting XFS recovery on filesystem: md1 (logdev: internal)
> [ 1862.950000] XFS: xlog_recover_process_data: bad clientid
> [ 1862.950000] XFS: log mount/recovery failed: error 5
> [ 1862.960000] XFS: log mount failed
>
> thecus:/mnt# mount /dev/md1 /mnt/xfs
> thecus:/mnt/xfs# cd ltp-full-20091031/
> thecus:/mnt/xfs/ltp-full-20091031# cd testcases/
> ballista/ network/ open_posix_testsuite/
> kernel/ open_hpi_testsuite/
> thecus:/mnt/xfs/ltp-full-20091031# cd testcases/ballista/ballista/outfiles/
> thecus:/mnt/xfs/ltp-full-20091031/testcases/ballista/ballista/outfiles# ls
> ls: reading directory .: Structure needs cleaning
> thecus:/mnt/xfs/ltp-full-20091031/testcases/ballista/ballista/outfiles#
>
> boom at this point:
> [ 2218.050000] Ending clean XFS mount for filesystem: md1
> [ 2250.860000] c746c000: 58 46 53 42 00 00 10 00 00 00 00 00 00 07 72 10 XFSB..........r.
> [ 2250.860000] Filesystem "md1": XFS internal error xfs_da_do_buf(2) at line 2112 of file /home/tbm/kernel/xfs/linux-2.6-2.6.31/debian/build/source_armel_none/fs/xfs/xfs_da_btree.c. Caller 0xbf3a8130
> [ 2250.860000]
> [ 2250.890000] Backtrace:
> [ 2250.890000] [<c0025e20>] (dump_backtrace+0x0/0x108) from [<c00262c8>] (dump_stack+0x18/0x1c)
> [ 2250.890000] r6:00000001 r5:bf3e7948 r4:bf3e7948
> [ 2250.900000] [<c00262b0>] (dump_stack+0x0/0x1c) from [<bf3b5158>] (xfs_error_report+0x4c/0x5c [xfs])
> [ 2250.910000] [<bf3b510c>] (xfs_error_report+0x0/0x5c [xfs]) from [<bf3b51c4>] (xfs_corruption_error+0x5c/0x68 [xfs])
> [ 2250.920000] r4:c2de0800
> [ 2250.920000] [<bf3b5168>] (xfs_corruption_error+0x0/0x68 [xfs]) from [<bf3a7fa8>] (xfs_da_do_buf+0x550/0x64c [xfs])
> [ 2250.930000] r6:bf3a8130 r5:00000000 r4:c60f6438
> [ 2250.940000] [<bf3a7a58>] (xfs_da_do_buf+0x0/0x64c [xfs]) from [<bf3a8130>] (xfs_da_read_buf+0x34/0x3c [xfs])
> [ 2250.950000] [<bf3a80fc>] (xfs_da_read_buf+0x0/0x3c [xfs]) from [<bf3ae574>] (xfs_dir2_leaf_getdents+0x478/0x8e4 [xfs])
> [ 2250.960000] [<bf3ae0fc>] (xfs_dir2_leaf_getdents+0x0/0x8e4 [xfs]) from [<bf3aa664>] (xfs_readdir+0xcc/0xe0 [xfs])
> [ 2250.970000] [<bf3aa598>] (xfs_readdir+0x0/0xe0 [xfs]) from [<bf3ddebc>] (xfs_file_readdir+0x50/0x68 [xfs])
> [ 2250.980000] [<bf3dde6c>] (xfs_file_readdir+0x0/0x68 [xfs]) from [<c00a7468>] (vfs_readdir+0x84/0xb8)
> [ 2250.990000] r5:00000000 r4:c2de27e0
> [ 2251.000000] [<c00a73e4>] (vfs_readdir+0x0/0xb8) from [<c00a7508>] (sys_getdents64+0x6c/0xbc)
> [ 2251.010000] [<c00a749c>] (sys_getdents64+0x0/0xbc) from [<c0021dc0>] (ret_fast_syscall+0x0/0x3c)
> [ 2251.020000] r7:000000d9 r6:0002610c r5:00000000 r4:0002bb40
>
> thecus:~# cd /mnt/
> thecus:/mnt# umount xfs
--
Martin Michlmayr
http://www.cyrius.com/
Reply to: