Re: [PATCH 1/4] change buffer_head.b_size to size_t

From: Andrew Morton
Date: Wed Mar 01 2006 - 22:05:10 EST


Nathan Scott <nathans@xxxxxxx> wrote:
>
> On Wed, Mar 01, 2006 at 05:51:48PM -0800, Andrew Morton wrote:
> > Badari Pulavarty <pbadari@xxxxxxxxxx> wrote:
> > >
> > > + * Historically, a buffer_head was used to map a single block
> > > + * within a page, and of course as the unit of I/O through the
> > > + * filesystem and block layers. Nowadays the basic I/O unit
> > > + * is the bio, and buffer_heads are used for extracting block
> > > + * mappings (via a get_block_t call), for tracking state within
> > > + * a page (via a page_mapping) and for wrapping bio submission
> > > + * for backward compatibility reasons (e.g. submit_bh).
> >
> > Well kinda. A buffer_head remains the kernel's basic abstraction for a
> > "disk block".
>
> Thats what I said (meant to say) with
> "buffer_heads are used for extracting block mappings".
>
> I think by "disk block" you mean what I'm thinking of as a
> "block mapping" (series of contiguous blocks). I'd think
> of a sector_t as a "disk block", but maybe I'm just wierd
> that way... a better wordsmith should jump in and update
> the comment I guess.

Think of `struct buffer_head' as `struct block'. If you want to read a
block off the disk, diddle with it and write it back (while, of course,
being coherent with everything else which is going on), the bh is the only
construct we have for this.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/