xfs
[Top] [All Lists]

Re: XFS corruption on md raid-0 arrays

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: XFS corruption on md raid-0 arrays
From: Mark Watts <m.watts@xxxxxxxxxxxxxxxxx>
Date: Tue, 16 Nov 2004 18:58:49 +0000
Cc: linux-xfs@xxxxxxxxxxx
In-reply-to: <20041114151003.GA7354@xxxxxxxxxxxxx>
References: <419781A9.1090706@xxxxxxxxxxxxxxxxx> <20041114151003.GA7354@xxxxxxxxxxxxx>
Sender: linux-xfs-bounce@xxxxxxxxxxx
User-agent: Mozilla Thunderbird 0.9 (X11/20041103)
Christoph Hellwig wrote:
On Sun, Nov 14, 2004 at 04:02:49PM +0000, Mark Watts wrote:

I'm running XFS on Mandrake 10.0 (2.6.3 kernel).


Please repdoruce with a current kernel.  MD in early 2.6 kernels has
been quite buggy.

I took this opportunity to install Mandrake 10.1 which uses a 2.6.8 kernel.

I told the installer to reformat /dev/md0 but not to reformat /dev/md1 (/home).

NOTE: I did _not_ recreate any partitions or raidsets, and the installer detected the raid partitions just fine.

During the following system boot, mounting md1 fails with a bunch of messages in dmesg:

XFS internal error XFS_WANT_CORRUPTED_GOTO at line 1610 of file fs/xfs/xfs_alloc.c. Caller 0xf8c3450a
 [<c0107bfe>] dump_stack+0x1e/0x20
 [<f8c3319f>] xfs_free_ag_extent+0x2ef/0x770 [xfs]
 [<f8c3450a>] xfs_free_extent+0xca/0xf0 [xfs]
 [<f8c46d9b>] xfs_bmap_finish+0x12b/0x1c0 [xfs]
 [<f8c6f31d>] xfs_itruncate_finish+0x29d/0x3f0 [xfs]
 [<f8c8bad3>] xfs_setattr+0xde3/0xf50 [xfs]
 [<f8c9991d>] linvfs_setattr+0xfd/0x180 [xfs]
 [<c0170b58>] notify_change+0x278/0x2e0
 [<c0154792>] do_truncate+0x62/0xa0
 [<c0164f57>] may_open+0x237/0x2a0
 [<c01650f6>] open_namei+0x136/0x690
 [<c01558ea>] filp_open+0x3a/0x60
 [<c0155c76>] sys_open+0x46/0xa0
 [<c0106dcd>] sysenter_past_esp+0x52/0x71
xfs_force_shutdown(md1,0x8) called from line 4049 of file fs/xfs/xfs_bmap.c. Return address = 0xf8c46e28 Filesystem "md1": Corruption of in-memory data detected. Shutting down filesystem: md1
Please umount the filesystem, and rectify the problem(s)
eth0: no IPv6 routers present
mtrr: 0xc0000000,0x8000000 overlaps existing 0xc0000000,0x100000
xfs_force_shutdown(md1,0x1) called from line 353 of file fs/xfs/xfs_rw.c. Return address = 0xf8c9232f xfs_force_shutdown(md1,0x1) called from line 353 of file fs/xfs/xfs_rw.c. Return address = 0xf8c9232f xfs_force_shutdown(md1,0x1) called from line 353 of file fs/xfs/xfs_rw.c. Return address = 0xf8c9232f xfs_force_shutdown(md1,0x1) called from line 353 of file fs/xfs/xfs_rw.c. Return address = 0xf8c9232f


/home appears to be mounted according to /etc/mtab and 'mount', but I get an I/O error when I try and ls /home.

If I unmount /home, then remount it I get the following in dmesg:

XFS mounting filesystem md1
Starting XFS recovery on filesystem: md1 (dev: md1)
XFS internal error XFS_WANT_CORRUPTED_GOTO at line 1610 of file fs/xfs/xfs_alloc.c. Caller 0xf8c3450a
 [<c0107bfe>] dump_stack+0x1e/0x20
 [<f8c3319f>] xfs_free_ag_extent+0x2ef/0x770 [xfs]
 [<f8c3450a>] xfs_free_extent+0xca/0xf0 [xfs]
 [<f8c7dd6e>] xlog_recover_process_efi+0x1ce/0x240 [xfs]
 [<f8c7de1b>] xlog_recover_process_efis+0x3b/0x60 [xfs]
 [<f8c7f4fc>] xlog_recover_finish+0x1c/0xd0 [xfs]
 [<f8c7694b>] xfs_log_mount_finish+0x2b/0x30 [xfs]
 [<f8c80b62>] xfs_mountfs+0x6c2/0xf00 [xfs]
 [<f8c88a1b>] xfs_mount+0x24b/0x420 [xfs]
 [<f8c9c01f>] linvfs_fill_super+0x9f/0x200 [xfs]
 [<c015d51e>] get_sb_bdev+0x11e/0x150
 [<f8c9c1af>] linvfs_get_sb+0x2f/0x40 [xfs]
 [<c015d7ba>] do_kern_mount+0xca/0x1b0
 [<c0172977>] do_new_mount+0x77/0xc0
 [<c0172fc3>] do_mount+0x203/0x210
 [<c0173352>] sys_mount+0x92/0xf0
 [<c0106dcd>] sysenter_past_esp+0x52/0x71
Ending XFS recovery on filesystem: md1 (dev: md1)


The filesystem appears to be mounted and I can see files/directories in /home as I expect to see.

Doing 'find /home' gives the following in dmesg, although it appears to complete the command:

Filesystem "md1": XFS internal error xfs_da_do_buf(2) at line 2273 of file fs/xfs/xfs_da_btree.c. Caller 0xf8c55244
 [<c0107bfe>] dump_stack+0x1e/0x20
 [<f8c55120>] xfs_da_do_buf+0x7b0/0x840 [xfs]
 [<f8c55244>] xfs_da_read_buf+0x44/0x50 [xfs]
 [<f8c5bbde>] xfs_dir2_leaf_getdents+0x38e/0xb50 [xfs]
 [<f8c57650>] xfs_dir2_getdents+0x170/0x180 [xfs]
 [<f8c8f24c>] xfs_readdir+0x5c/0xb0 [xfs]
 [<f8c96e1c>] linvfs_readdir+0xfc/0x230 [xfs]
 [<c0168d0e>] vfs_readdir+0xae/0xd0
 [<c0169164>] sys_getdents64+0x74/0xb4
 [<c0106dcd>] sysenter_past_esp+0x52/0x71


What should I be doing now?
Is it safe to copy data off of this partition (should I mount read-only to be safe?)

Regards,

Mark.


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