xfs
[Top] [All Lists]

Re: XFS mounting fails on MIPS

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: XFS mounting fails on MIPS
From: Ajeet Yadav <ajeet.yadav.77@xxxxxxxxx>
Date: Thu, 11 Nov 2010 10:27:05 +0530
Cc: "xfs@xxxxxxxxxxx" <xfs@xxxxxxxxxxx>, linux-mips@xxxxxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=oiQ2Dtu4EYBW0WDzehrquzkiiNj++SZR0wsq885KmgY=; b=I5sr8MR5SK2Ts8MYif+ZPJRblRABXdwf+uOSKGeufmDbX1uaqpBzJr3Pqf6R2nyGnW WMQ9KxNQxwOVWmmWWWh9QOHG+1J6GFwZpYCC0SVnGv2NZnllpxzC3tCPQh+pL791k2Qt 00Edb6lIRoYZTEVMTpEnMHzwv5xHuHcxFo9F4=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=mkjUhVbd4Zp+eWZo/BCVbXETdmM3ePQVooxsGDRVoTXroCJRPLuZc5nEhlibgXrAUX 1yzAHaTovnqOh29NVu881MGnrsSLcEr2OYCQoKacupNjIQFCgyO1FYv+n8+T7CUl2Ssg ulDPaEySZFpEhfLkHFHQVbSdqDcXOMRL4x4is=
In-reply-to: <20101109140527.GA13041@xxxxxxxxxxxxx>
References: <AANLkTi=mLwQ0N_cErHzES1ZWvOa8jQspeYwKgn9sU4Jm@xxxxxxxxxxxxxx> <20101104125052.GA22429@xxxxxxxxxxxxx> <AANLkTinqK-HvuHPeaTgxJOJuWMfomP2C12G=uVcqhWdn@xxxxxxxxxxxxxx> <20101109140527.GA13041@xxxxxxxxxxxxx>
Coming back to problem, I wish to know about this problem
Linux XFS version : 2.6.34
Architecure: MIPS
I am getting the following error during mount.
 
XFS mounting filesystem sda2
Starting XFS recovery on filesystem: sda2 (logdev: internal)
XFS internal error XFS_WANT_CORRUPTED_GOTO at line 1518 of file fs/xfs/xfs_alloc.c.  Caller 0x801174a0
Call Trace:
[<800050bc>] dump_stack+0x8/0x34
[<80115254>] xfs_free_ag_extent+0x128/0x7a8
[<801174a0>] xfs_free_extent+0xa0/0xcc
[<80155278>] xlog_recover_process_efi+0x15c/0x210
[<801553cc>] xlog_recover_process_efis+0xa0/0x12c
[<8015590c>] xlog_recover_finish+0x28/0xcc
[<8015d4fc>] xfs_mountfs+0x4f0/0x5d0
[<801758d8>] xfs_fs_fill_super+0x158/0x360
[<8008b67c>] get_sb_bdev+0x11c/0x1c4
[<801734e0>] xfs_fs_get_sb+0x20/0x2c
[<80089cd0>] vfs_kern_mount+0x68/0xd0
[<80089d9c>] do_kern_mount+0x54/0x118
[<800a4e98>] do_mount+0x7f0/0x86c
[<800a4fb0>] sys_mount+0x9c/0xf8
[<80002124>] stack_done+0x20/0x3c
 
Filesystem "sda2": XFS internal error xfs_trans_cancel at line 1161 of file fs/xfs/xfs_trans.c.  Caller 0x801552f8
 
Call Trace:
[<800050bc>] dump_stack+0x8/0x34
[<801601f0>] xfs_trans_cancel+0x88/0x118
[<801552f8>] xlog_recover_process_efi+0x1dc/0x210
[<801553cc>] xlog_recover_process_efis+0xa0/0x12c
[<8015590c>] xlog_recover_finish+0x28/0xcc
[<8015d4fc>] xfs_mountfs+0x4f0/0x5d0
[<801758d8>] xfs_fs_fill_super+0x158/0x360
[<8008b67c>] get_sb_bdev+0x11c/0x1c4
[<801734e0>] xfs_fs_get_sb+0x20/0x2c
[<80089cd0>] vfs_kern_mount+0x68/0xd0
[<80089d9c>] do_kern_mount+0x54/0x118
[<800a4e98>] do_mount+0x7f0/0x86c
[<800a4fb0>] sys_mount+0x9c/0xf8
[<80002124>] stack_done+0x20/0x3c
 
xfs_force_shutdown(sda2,0x8) called from line 1162 of file fs/xfs/xfs_trans.c.  Return address = 0x80160204
Filesystem "sda2": Corruption of in-memory data detected.  Shutting down filesystem: sda2
Please umount the filesystem, and rectify the problem(s)
Failed to recover EFIs on filesystem: sda2
XFS: log mount finish failed
 
With Regards
Ajeet Yadav

On Tue, Nov 9, 2010 at 7:35 PM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
Hi Ajeet,

On Tue, Nov 09, 2010 at 04:43:04PM +0530, Ajeet Yadav wrote:
> True, its the same system and you were right it was cache VIPT cache problem
> the cache hold the stale value even after xlog_bread() update the buffer.
> I do not know whether its correct ways to resolve the problem, but the
> problem no longer occur.

It seems like you more less re-implemented the vmap coherency hooks
inside XFS, hardcoded to the mips implementation.

The actual helpers would looks something like:

static inline void flush_kernel_vmap_range(void *addr, int size)
{
       dma_cache_inv(addr, size);
}

static inline void invalidate_kernel_vmap_range(void *addr, int size)
{
       dma_cache_inv(addr, size);
}

For some reason the kernel also expects flush_dcache_page to be
implemented by an architecture if we want to implement these two
(it's keyed off ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE).

Can someone of the mips folks helps with this?

The testcase is easy, mounting an xfs filesystem after an unclean
shutdown on a machine with virtually indexed caches.


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