Re: XFS is unsafe (Was: Re: d-i does not show jfs in partition tool)
On Wed, Aug 27, 2008 at 06:08:24PM +0300, Martin Michlmayr wrote:
> * Gaudenz Steinlin <firstname.lastname@example.org> [2008-08-27 17:05]:
> > > The ARM XFS fix that got into 2.6.27 is also in our 2.6.26 kernel.
> > > However, if you want to try 2.6.27-rc4, I can build it for arm.
> > I tested with 2.6.26-3 from unstable. I also get the corruption with
> > this kernel. Are you sure that everything that went into 2.6.27 is also in
> > the Debian kernel?
> Not everything, only the ARM fix.
> > If not, could you build an image for arm?
OK, I tested with this kernel as well and still got the fs corruption. This is
what I did:
- mkfs.xfs (on a 100GB LV)
- mount it
- download and unpack the kernel sources -> no error
- cp -ar linux-2.6.27-rc4 linux -> errors from cp
- rm -r linux -> no errors from rm
- mount again -> unable to mount the partition
- xfs_repair -L -> lots of errors
This is with 2.6.27-rc4 and xfsprogs 2.8.11 on arm oldabi.
This is part of the relevant dmesg output (there are a ton more similar errors):
[ 1188.450000] 00000000: 58 46 53 42 00 00 10 00 00 00 00 00 01 90 00 00 XFSB............
[ 1188.460000] Filesystem "dm-6": XFS internal error xfs_da_do_buf(2) at line 2107 of file fs/xfs/xfs_da_btree.c. Caller 0xbf246590
[ 1188.480000] [<c0029d9c>] (dump_stack+0x0/0x14) from [<bf2525ec>] (xfs_error_report+0x4c/0x5c [xfs])
[ 1188.480000] [<bf2525a0>] (xfs_error_report+0x0/0x5c [xfs]) from [<bf252658>] (xfs_corruption_error+0x5c/0x68 [xfs])
[ 1188.490000] r4:df2fdc00
[ 1188.500000] [<bf2525fc>] (xfs_corruption_error+0x0/0x68 [xfs]) from [<bf2463f4>] (xfs_da_do_buf+0x5e8/0x6ec [xfs])
[ 1188.510000] r6:bf246590 r5:00000000 r4:c5875438
[ 1188.510000] [<bf245e0c>] (xfs_da_do_buf+0x0/0x6ec [xfs]) from [<bf246590>] (xfs_da_read_buf+0x3c/0x44 [xfs])
[ 1188.520000] [<bf246558>] (xfs_da_read_buf+0x4/0x44 [xfs]) from [<bf24c8e4>] (xfs_dir2_leaf_getdents+0x498/0x898 [xfs])
[ 1188.540000] [<bf24c44c>] (xfs_dir2_leaf_getdents+0x0/0x898 [xfs]) from [<bf248aec>] (xfs_readdir+0xcc/0xe0 [xfs])
[ 1188.550000] [<bf248a20>] (xfs_readdir+0x0/0xe0 [xfs]) from [<bf27fe54>] (xfs_file_readdir+0x164/0x1c8 [xfs])
[ 1188.560000] [<bf27fcf0>] (xfs_file_readdir+0x0/0x1c8 [xfs]) from [<c009f2a0>] (vfs_readdir+0x84/0xb8)
[ 1188.570000] [<c009f21c>] (vfs_readdir+0x0/0xb8) from [<c009f340>] (sys_getdents64+0x6c/0xc0)
[ 1188.580000] [<c009f2d4>] (sys_getdents64+0x0/0xc0) from [<c0025be0>] (ret_fast_syscall+0x0/0x3c)
[ 1188.590000] r7:000000d9 r6:4015806c r5:00000001 r4:0003fad0
[ 3466.940000] Filesystem "dm-6": Disabling barriers, trial barrier write failed
[ 3466.970000] XFS mounting filesystem dm-6
[ 3467.220000] Starting XFS recovery on filesystem: dm-6 (logdev: internal)
[ 3467.230000] XFS: xlog_recover_process_data: bad clientid
[ 3467.240000] XFS: log mount/recovery failed: error 5
[ 3467.240000] XFS: log mount failed
Please tell me if you want me to do more testing or if you need additional
debugging output. If you need it, I can also upload an image of the corrpted
Tobi: Are you going to take this upstream to the XFS devels or linux-kernel?
Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better.
~ Samuel Beckett ~