On Wed, 26 Jul 2000, Stephen C. Tweedie wrote:

> Hi,
> 
> On Wed, Jul 26, 2000 at 02:56:01PM -0400, Alexander Viro wrote:
> > 
> > Not. Data normally is in page. Buffer_heads are not included into buffer
> > cache. They are refered from the struct page and their ->b_data just
> > points to appropriate pieces of page. You can not get them via bread().
> > At all. Buffer cache is only for metadata.
> 
> Only in the default usage.  There's no reason at all why we can't use
> separate buffer and page cache aliases of the same data for tails as a
> special case.

In theory - yes, but doing that will require a _lot_ of accurate thinking
about possible races. IOW, I'm afraid that transitions tail<->normal block
will be race-prone. Paint me over-cautious, but after you-know-what... Oh,
well... I'm not saying that it's impossible, but I _really_ recommend to
take a hard look at race scenarios - there is a potential for plenty of
them.

Reply via email to