xfs
[Top] [All Lists]

Is my partition repairable?

To: xfs@xxxxxxxxxxx
Subject: Is my partition repairable?
From: "James Klaas" <jklaas@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 9 Apr 2008 11:13:07 -0400
Sender: xfs-bounce@xxxxxxxxxxx
I've been struggling to recover/repair an XFS partition that is on a
Linux software raid.  This is on Ubuntu Feisty (7.04) with xfsprogs
v2.8.18.

When I try to mount the system, it attempts a recovery:

[127094.470809] Filesystem "md0": Disabling barriers, not supported by
the underlying device
[127094.471954] XFS mounting filesystem md0
[127094.613551] Starting XFS recovery on filesystem: md0 (logdev: internal)
[127094.858897] Filesystem "md0": XFS internal error
xfs_btree_check_sblock at line 334 of file fs/xfs/xfs_btree.c.  Caller
0xf8eda9fb
[127094.858957] Pid: 8986, comm: mount Not tainted 2.6.24.3-test #1
[127094.859013]  [<f8ec7d9b>] xfs_btree_check_sblock+0x5b/0xd0 [xfs]
[127094.859146]  [<f8eda9fb>] xfs_inobt_lookup+0x1cb/0x450 [xfs]
[127094.859209]  [<f8eda9fb>] xfs_inobt_lookup+0x1cb/0x450 [xfs]
[127094.859277]  [<f8f024a8>] kmem_zone_zalloc+0x28/0x60 [xfs]
[127094.859347]  [<f8ed9fe5>] xfs_difree+0x265/0x630 [xfs]
[127094.859422]  [<f8eea5a0>] xfs_log_reserve+0xc0/0xe0 [xfs]
[127094.859482]  [<f8ee1c20>] xfs_ifree+0x60/0xf0 [xfs]
[127094.859539]  [<f8ef7bbb>] xfs_trans_ijoin+0x2b/0x70 [xfs]
[127094.859598]  [<f8f00a6f>] xfs_inactive+0x23f/0x4d0 [xfs]
[127094.859660]  [<f8edfa9d>] xfs_itobp+0x1fd/0x220 [xfs]
[127094.859718]  [<f8f0b40a>] xfs_fs_clear_inode+0x3a/0x80 [xfs]
[127094.859783]  [<c0177f60>] clear_inode+0x90/0x140
[127094.859814]  [<c014fe67>] truncate_inode_pages+0x17/0x20
[127094.859845]  [<c017812a>] generic_delete_inode+0xda/0xf0
[127094.859875]  [<c017790c>] iput+0x5c/0x70
[127094.859902]  [<f8eecbc2>] xlog_recover_process_iunlinks+0x462/0x490 [xfs]
[127094.859981]  [<f8eecca7>] xlog_recover_finish+0xb7/0xc0 [xfs]
[127094.860041]  [<f8ef3053>] xfs_mountfs+0xbd3/0xdb0 [xfs]
[127094.860120]  [<f8f026c5>] kmem_zalloc+0x15/0x50 [xfs]
[127094.860182]  [<f8efafe3>] xfs_mount+0x3d3/0x400 [xfs]
[127094.860244]  [<f8f0bf02>] xfs_fs_fill_super+0xa2/0x200 [xfs]
[127094.860313]  [<c01e01af>] snprintf+0x1f/0x30
[127094.860343]  [<c019fe3c>] disk_name+0x3c/0xc0
[127094.860375]  [<c01ded60>] strlcpy+0x20/0x80
[127094.860404]  [<c0167ab9>] get_sb_bdev+0xf9/0x120
[127094.860446]  [<f8f0b380>] xfs_fs_get_sb+0x20/0x30 [xfs]
[127094.860502]  [<f8f0be60>] xfs_fs_fill_super+0x0/0x200 [xfs]
[127094.860560]  [<c0167672>] vfs_kern_mount+0xa2/0x120
[127094.860595]  [<c016774d>] do_kern_mount+0x3d/0xe0
[127094.860627]  [<c017b603>] do_mount+0x5f3/0x6a0
[127094.860667]  [<c0155390>] handle_mm_fault+0x630/0x680
[127094.860712]  [<c01778e5>] iput+0x35/0x70
[127094.860745]  [<c016f7a9>] __user_walk_fd+0x49/0x60
[127094.860788]  [<c014ccb6>] __alloc_pages+0x56/0x360
[127094.860823]  [<c02e3412>] error_code+0x6a/0x70
[127094.860865]  [<c014d00e>] __get_free_pages+0x4e/0x60
[127094.860893]  [<c0179f30>] copy_mount_options+0x40/0x150
[127094.860927]  [<c017ba62>] sys_mount+0x72/0xb0
[127094.860959]  [<c0103f7e>] sysenter_past_esp+0x5f/0x85
[127094.861002]  =======================
[127094.861025] xfs_difree: xfs_inobt_lookup_le returned()  an error
117 on md0.  Returning error.
[127094.861071] xfs_inactive:   xfs_ifree() returned an error = 117 on md0
[127094.861099] xfs_force_shutdown(md0,0x1) called from line 1769 of
file fs/xfs/xfs_vnodeops.c.  Return address = 0xf8f00cf0
[127094.861151] Filesystem "md0": I/O Error Detected.  Shutting down
filesystem: md0
[127094.861192] Please umount the filesystem, and rectify the problem(s)
[127095.012602] Ending XFS recovery on filesystem: md0 (logdev: internal)

I don't know why there is an I/O error on md0 as I am able to copy the
system using dd with no I/O errors to another disk.  I get the same
erorrs when I try to mount the xfs filesystem from the copied disk.

If I run xfs_repair:

# xfs_repair /dev/md0
        - creating 2 worker thread(s)
Phase 1 - find and verify superblock...
        - reporting progress in intervals of 15 minutes
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.

I get a long list of things though when I run "xfs_repair -n
/dev/md0".  Can I use any of the information in the output from
"xfs_repair -n" to fix it?

James


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