Messages in this thread | | | Date | Wed, 1 Mar 2006 17:52:18 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH 2/4] pass b_size to ->get_block() |
| |
Badari Pulavarty <pbadari@us.ibm.com> wrote: > > Pass amount of disk needs to be mapped to get_block(). > This way one can modify the fs ->get_block() functions > to map multiple blocks at the same time.
I can't say I terribly like this patch. Initialising b_size all over the place seems fragile.
We're _already_ setting bh.b_size to the right thing in alloc_page_buffers(), and for a bh which is attached to pagecache_page->private, there's no reason why b_size would ever change.
So what I think I'll do is to convert those places where you're needlessly assigning to b_size into temporary WARN_ON(b_size != blocksize).
The only place where we need to initialise b_size is where we've got a non-pagecache bh allocated on the stack.
We need to be sure that no ->get_block() implementations write garbage into bh->b_size if something goes wrong. b_size on a pagecache-based buffer_head must remain inviolate.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |