Re: Addressing logically the buffer cache

From: Eric W. Biederman (ebiederm@xmission.com)
Date: Thu Nov 16 2000 - 11:18:31 EST


Juan <piernas@ditec.um.es> writes:

> Alexander Viro escribió:
> >
> > On Tue, 14 Nov 2000, Juan wrote:
> >
> > > Hi!.
> > >
> > > Is there any patch or project to address logically the buffer cache?.
> > > Now, you use three parameters to find a buffer in cache: device, block
> > > number, and block size. But, what about if I want to find a buffer using
> > > a super block, an inode number, and a block number within the file
> > > specified by the inode number.
> >
> > What's wrong with using the pagecache and per-page buffer_heads?
>
> Suppose you are implementing a log-structured file system and a process
> adds a new logical block to a file. Besides, suppose that the segment is
> 512 KBytes in size. Usually, you don't want to write the segment before
> it is full. The logical block hasn't got a physical address because you
> don't build the segment until it is written to disk. So, what happens if
> another process wants to access to the new block?.
>
> You can't assign a physical address to the new block because the address
> can change when the buffer is written to disk.

So you don't assign a buffer head until you make the final decision.
There are some interesting issues with how you track that your data
is dirty but otherwise all is well.
>
> Perhaps, I'm wrong, but I think that the implementation of the BSD-LFS
> needs to address logically the buffer cache.

The linux vfs is quite different from the berkley one. The linux page
cache is much closer to the berkley block cache, then the depricated
linux block cache.

Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Nov 23 2000 - 21:00:10 EST