XFS mounting fails on MIPS
Ajeet Yadav
ajeet.yadav.77 at gmail.com
Tue Nov 9 05:13:04 CST 2010
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.
diff -Naur -X fs/xfs/linux-2.6/xfs_buf.c fs-dirty/xfs/linux-2.6/xfs_buf.c
--- fs/xfs/linux-2.6/xfs_buf.c 2010-07-18 12:27:11.000000000 +0530
+++ fs-dirty/xfs/linux-2.6/xfs_buf.c 2010-10-25 11:01:28.252762355 +0530
@@ -1166,6 +1166,13 @@
xfs_buf_ioerror(bp, -error);
+ if (!error &&
+ (bp->b_flags & XBF_MAPPED) &&
+ (bp->b_page_count > 1) &&
+ (bp->b_flags & XBF_READ)) {
+ dma_cache_inv((unsigned long)bp->b_addr,
+ (bp->b_page_count * PAGE_SIZE) - bp->b_offset);
+ }
do {
struct page *page = bvec->bv_page;
@@ -1275,6 +1282,10 @@
submit_io:
if (likely(bio->bi_size)) {
+ if ((bp->b_flags & XBF_MAPPED) && (bp->b_page_count > 1)) {
+ dma_cache_wback_inv((unsigned long)bp->b_addr,
+ (bp->b_page_count * PAGE_SIZE) - bp->b_offset);
+ }
submit_bio(rw, bio);
if (size)
goto next_chunk;
On Thu, Nov 4, 2010 at 6:20 PM, Christoph Hellwig <hch at infradead.org> wrote:
> On Thu, Nov 04, 2010 at 11:27:24AM +0530, Ajeet Yadav wrote:
> > Linux XFS version : 2.6.34
> > Architecure: MIPS
> > I am getting the following error during mount.
>
> Is this the same mips system that you have the vmap aliasing problems
> during log recovery with?
>
> As long as that is not fixed I would deeply distrust any callchain
> from the recovery code like this one.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://oss.sgi.com/pipermail/xfs/attachments/20101109/7266b9b8/attachment.htm>
More information about the xfs
mailing list