From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: with ECARTIS (v1.0.0; list xfs); Fri, 25 Jul 2008 12:28:49 -0700 (PDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.168.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id m6PJSkpc017441 for ; Fri, 25 Jul 2008 12:28:46 -0700 Received: from sandeen.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id D115432FC05 for ; Fri, 25 Jul 2008 12:29:56 -0700 (PDT) Received: from sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id QUwhRtre2XXzrU4S for ; Fri, 25 Jul 2008 12:29:56 -0700 (PDT) Message-ID: <488A29B0.9090804@sandeen.net> Date: Fri, 25 Jul 2008 14:29:52 -0500 From: Eric Sandeen MIME-Version: 1.0 Subject: Re: Help with XFS... References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: xfs-bounce@oss.sgi.com Errors-to: xfs-bounce@oss.sgi.com List-Id: xfs To: Bernard Li , xfs-oss Bernard Li wrote: > Hi Eric: You should just send this to the list (cc'd), many more eyes will see it and might have better suggestions. In general though if the log won't replay on mount, xfs_repair -L is the thing. since you're on devicemapper, you probably got burned by the lack of barriers / ordered write support in dm, and that led to your unreplayable log corruption when you lost power. Going forward, I'd suggest that a UPS would be a good investment. -Eric > Sorry for writing you directly, but I figure you're probably the best > person I could ask, regarding this issue. So if you have some time, I > would appreciate some feedback from you, thanks! > > So we had a power outage and upon bringing up a file server, we can no > longer mount a XFS partition: > > mount: Structure needs cleaning > > and we got the following in /var/log/messages: > > Jul 25 11:48:52 vus-sxmail-v032 kernel: XFS mounting filesystem dm-7 > Jul 25 11:48:52 vus-sxmail-v032 kernel: Starting XFS recovery on > filesystem: dm-7 (logdev: internal) > Jul 25 11:48:52 vus-sxmail-v032 kernel: Filesystem "dm-7": XFS > internal error xlog_valid_rec_header(1) at line 3449 of file > fs/xfs/xfs_log_recover.c. Caller 0xf8e833bb > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > xlog_valid_rec_header+0xcd/0xd9 [xfs] > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > xlog_do_recovery_pass+0x21f/0x79d [xfs] > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > xlog_do_recovery_pass+0x21f/0x79d [xfs] > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > autoremove_wake_function+0xd/0x2d > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] schedule+0x4c2/0x538 > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > xlog_do_log_recovery+0x34/0x94 [xfs] > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > xlog_do_recover+0x12/0xf3 [xfs] > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > xlog_recover+0x75/0x84 [xfs] > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > xfs_log_mount+0x96/0xce [xfs] > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > xfs_mountfs+0x87f/0xaf9 [xfs] > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > xfs_setsize_buftarg_flags+0x2a/0x89 [xfs] > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > xfs_buf_rele+0x21/0x5f [xfs] > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > xfs_readsb+0x17c/0x198 [xfs] > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > xfs_mount+0x2e1/0x357 [xfs] > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] xfs_mount+0x0/0x357 [xfs] > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] vfs_mount+0x17/0x1a [xfs] > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > xfs_fs_fill_super+0x68/0x175 [xfs] > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] snprintf+0x1c/0x1f > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] disk_name+0x1f/0x60 > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] get_sb_bdev+0xc6/0x10e > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] __alloc_pages+0x57/0x297 > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > xfs_fs_get_sb+0xe/0x11 [xfs] > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > xfs_fs_fill_super+0x0/0x175 [xfs] > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] do_kern_mount+0x8f/0x13d > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] do_mount+0x5fa/0x648 > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] mntput_no_expire+0x11/0x62 > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] link_path_walk+0xaf/0xb9 > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] dput+0x22/0x113 > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] mntput_no_expire+0x11/0x62 > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > __handle_mm_fault+0x7dd/0x7f3 > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > get_page_from_freelist+0x6f/0x29d > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] do_page_fault+0x16c/0x51e > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > copy_mount_options+0x26/0x109 > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] sys_mount+0x64/0x97 > Jul 25 11:48:52 vus-sxmail-v032 kernel: [] > sysenter_past_esp+0x54/0x79 > Jul 25 11:48:52 vus-sxmail-v032 kernel: XFS: log mount/recovery > failed: error 117 > Jul 25 11:48:52 vus-sxmail-v032 kernel: XFS: log mount failed > > I think we have two options with xfs_repair: > > 1) Run it with -L and zero the log > 2) Run it without -L and try to replay the log > > Any insight? We are running 2.6.16.54-0.2.5-default kernel. > > I guess it might be a good idea to run xfs_dump on the filesystem to > try to salvage whatever we have before we try xfs_repair... > > Thanks a lot in advance, > > Bernard >