Re: biod/nfsiod for linux?

Michael Callahan (callahan@maths.ox.ac.uk)
Thu, 12 Oct 1995 01:22:24 +0100 (BST)


On Wed, 11 Oct 1995, Jon Peatfield wrote:

> Well I may just be missing several reasons, but why hasn't anyone implemented
> biod/nfsiod for Linux yet? Looking through the bsd-4.4 lite source, the
> kernel implementation of nfsiod isn't too nasty, but I'm put off doing it
> myself by 2 things:
>
> 1. Someone else is probably working on it, and will release one soon.
> 2. I don't understand the way that the Linux VFS layer seems to be
> implemented. I (think) I can follow the 4.4 lite VFS but Linux's seems
> very different. Is there any documentation on the VFS/MM/buffercache
> stuff for Linux, or example trivial file-systems to show the principles?

[Of course, the current implementation has a simple read caching scheme.]

I believe people have held off doing general NFS caching because the
current Linux buffer cache is indexed by (device number, offset) rather
than (filesystem, inode, offset). That makes it tricky to implement
buffer caching for filesystems like nfs which do not naturally map files
onto linear device spaces.

I also understand that it is intended (by whom I do not know) to
reimplement the buffer cache to use inode-based indexing, and that I also
heard once that it was hoped that this would be done in time for 1.4.

Note that an inode-based buffer cache is also necessary if you want to
write a filesystem which delays write allocation from write time to
cache-flush-time and hence the current Linux buffer cache makes it
difficult to write a useful log-based filesystem.

I would be interested if someone in the know could confirm or deny these
plans.

Michael