xfs
[Top] [All Lists]

RE: XFS support for ARMv5

To: Eric Sandeen <sandeen@xxxxxxxxxxx>
Subject: RE: XFS support for ARMv5
From: Ofer Heifetz <oferh@xxxxxxxxxxx>
Date: Sun, 22 Nov 2009 18:20:56 +0200
Accept-language: en-US
Acceptlanguage: en-US
Cc: "xfs@xxxxxxxxxxx" <xfs@xxxxxxxxxxx>
In-reply-to: <4B041AEE.4040506@xxxxxxxxxxx>
References: <14274282.01258546868484.JavaMail.root@wombat> <4B041AEE.4040506@xxxxxxxxxxx>
Thread-index: AcpoaMUsAuOEB5wqQ5KgMQ5+GFPFIgDJNqVw
Thread-topic: XFS support for ARMv5
Hi Eric,

I have tried the patch you advised and still get the same error using 2.6.31.6, 
xfs version 2.10.2 on Ubuntu 9.04.

Any other suggestions you think that might help me with this?

-Ofer

-----Original Message-----
From: Eric Sandeen [mailto:sandeen@xxxxxxxxxxx] 
Sent: Wednesday, November 18, 2009 6:04 PM
To: Ofer Heifetz
Cc: xfs@xxxxxxxxxxx
Subject: Re: XFS support for ARMv5

oferh@xxxxxxxxxxx wrote:
> Hi,
> 
> I have noticed that XFS on ARMv5TE with latest kernel (2.6.31.6)
> fails to mount after copying some data and reboot the system.
> 
> I get "mount: /dev/sda1: can't read superblock", I understand that
> there were some problems with virtual aliasing that was added to XFS
> some time ago but ARM arch has not dealt with this properly.

when you get that error from mount, look at dmesg to see what really went wrong 
...

> Is there any patch for this bug?

This is a big-hammer approach for the aliasing problem:

Index: linux-2.6.25-rc1/fs/xfs/linux-2.6/xfs_buf.c
===================================================================
--- linux-2.6.25-rc1.orig/fs/xfs/linux-2.6/xfs_buf.c
+++ linux-2.6.25-rc1/fs/xfs/linux-2.6/xfs_buf.c
@@ -1172,6 +1172,7 @@ _xfs_buf_ioapply(
                bio->bi_end_io = xfs_buf_bio_end_io;
                bio->bi_private = bp;
 
+               flush_dcache_page(bp->b_pages[0]);
                bio_add_page(bio, bp->b_pages[0], PAGE_CACHE_SIZE, 0);
                size = 0;
 
@@ -1198,6 +1199,7 @@ next_chunk:
                if (nbytes > size)
                        nbytes = size;
 
+               flush_dcache_page(bp->b_pages[map_i]);
                rbytes = bio_add_page(bio, bp->b_pages[map_i], nbytes, offset);
                if (rbytes < nbytes)
                        break;


 
> xfsprogs version used: 2.10.2
> 
> -Ofer
> 
> -- This message was sent on behalf of oferh@xxxxxxxxxxx at
> openSubscriber.com 
> http://www.opensubscriber.com/messages/xfs@xxxxxxxxxxx/topic.html
> 
> _______________________________________________ xfs mailing list 
> xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs
> 

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