On Nov 05, 2007  08:04 -0800, Badari Pulavarty wrote:
> On Sat, 2007-11-03 at 09:36 +0800, Andreas Dilger wrote:
> > 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.

My point is that there is a LOT of code in ext[234] that dereferences
bh->b_data without kmap() (e.g. group descriptors, bitmaps, superblock,
inode tables, etc).  Does that imply that something is forcing those
bh pages into lowmem, or is the journal bh page in question being
allocated in some different way that allows it to be in highmem?

Cheers, Andreas
--
Andreas Dilger
Sr. Software 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