[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1194278695.17333.3.camel@dyn9047017100.beaverton.ibm.com>
Date: Mon, 05 Nov 2007 08:04:55 -0800
From: Badari Pulavarty <pbadari@...il.com>
To: Andreas Dilger <adilger@....com>
Cc: Mingming Cao <cmm@...ibm.com>,
Girish Shilamkar <girish@...sterfs.com>,
Avantika Mathur <mathur@...ux.vnet.ibm.com>,
ext4 <linux-ext4@...r.kernel.org>
Subject: Re: [PATCH][RFC]JBD2: Fix journal checksum kernel oops on NUMA
On Sat, 2007-11-03 at 09:36 +0800, Andreas Dilger wrote:
> On Nov 02, 2007 08:31 -0800, Badari Pulavarty wrote:
> > On Fri, 2007-11-02 at 13:20 +0800, Andreas Dilger wrote:
> > > On Nov 01, 2007 17:40 -0700, Mingming Cao wrote:
> > > > Current journal checksumming patch failed fsstress test on NUMA. The
> > > > bh->b_data passed to the crc32_be () function could be NULL pointer,
> > > > which caused kernel oops immediately when running fsstress with -o
> > > > journal_checksum. It is because the page is part of highmem on NUMA box.
> > > > We need to kmap the page before access the bh->b_data to calculate
> > > > the checksums.
> > >
> > > I have no objection to the patch, per-se, but I'm surprised that there
> > > would ever be a buffer head pointing at a page in high memory? That
> > > seems contrary to what I would expect...
> >
> > I was surprised to see that too while helping Mingming/Avantika track
> > this issue. I was under impression that we are checksumming only
> > metadata and it should be lowmem. But only "buffer_head"s are in lowmem.
> > Pages that point to can be in Highmem.
>
> But... this implies that every user of bh->b_data needs to kmap, and I
> don't see that in the code anywhere else. That makes me think something
> else is going wrong here.
Most cases, this is handled in ll_rw_block() code - when we submit the
buffer head for IO. If the page is in highmem, we will end up creating
a bounce bufer for it.
In our case, JBD code is trying to look at the data to do checksum
on it. Thats why we have to kmap() the page before looking.
Thanks,
Badari
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists