| To: | Christoph Hellwig <hch@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: XFS mounting fails on MIPS |
| From: | Ajeet Yadav <ajeet.yadav.77@xxxxxxxxx> |
| Date: | Tue, 9 Nov 2010 16:43:04 +0530 |
| Cc: | "xfs@xxxxxxxxxxx" <xfs@xxxxxxxxxxx> |
| 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=kpBUptV/cr+WXGGZkj6QBJ1qOlYIAkeMb9HiUYr0/iw=; b=R/YiaIXPzg9W1cID6NIWi1FPbqVfm6AFcsygo4aa0DXOfAVlhGZIGSgPx9lhp5HtVz BE1gCoQcpX/6gONDIOcGWnYIeJU6A9Afx3yJnIT3MUeX7Nby2iD/n0XFFkTjplZEayVV orDDnFKQgsHrTWZZlQnZfBYH3fSrRK56COE10= |
| 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=u3V4k5D/Ns2Lh3eUVX8xQPMYZZ1++pcONu2121/da/zVLj95D9H4dz29EVEGDVVRiQ ULjaK5tp4QWN0ZJXp0vabv2Plho3YtS4ZnHID+BhnmCMEx0X2hrzRJC4szb9cuahRkkP a+xAFHCRjwbPqBPTuGsBa2t6FoC1fmaY0aRVs= |
| In-reply-to: | <20101104125052.GA22429@xxxxxxxxxxxxx> |
| References: | <AANLkTi=mLwQ0N_cErHzES1ZWvOa8jQspeYwKgn9sU4Jm@xxxxxxxxxxxxxx> <20101104125052.GA22429@xxxxxxxxxxxxx> |
|
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@xxxxxxxxxxxxx> wrote:
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | vmap allocation for size 1048576 failed, Michael Weissenbacher |
|---|---|
| Next by Date: | Re: vmap allocation for size 1048576 failed, Michael Monnerie |
| Previous by Thread: | Re: XFS mounting fails on MIPS, Christoph Hellwig |
| Next by Thread: | Re: XFS mounting fails on MIPS, Christoph Hellwig |
| Indexes: | [Date] [Thread] [Top] [All Lists] |