On Jan 23, 2008  14:07 -0800, Andrew Morton wrote:
> > +{
> > +   struct page *page = bh->b_page;
> > +   char *addr;
> > +   __u32 checksum;
> > +
> > +   addr = kmap_atomic(page, KM_USER0);
> > +   checksum = crc32_be(crc32_sum,
> > +           (void *)(addr + offset_in_page(bh->b_data)), bh->b_size);
> > +   kunmap_atomic(addr, KM_USER0);
> > +
> > +   return checksum;
> > +}
> 
> Can this buffer actually be in highmem?

Yes, this was found during system testing.  While ext3/4 will only allocate
buffer heads in lowmem, the jbd/jbd2 code can allocate buffers in highmem.
I was surprised about this also.

Please see the thread in ext4-devel:
[PATCH][RFC]JBD2: Fix journal checksum kernel oops on NUMA

Cheers, Andreas
--
Andreas Dilger
Sr. Staff Engineer, Lustre Group
Sun Microsystems of Canada, Inc.

-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to