Subject: Re: filesystem read-ahead caching....
To: NetBSD Kernel Technical Discussion List <tech-kern@NetBSD.ORG>
From: Greg A. Woods <woods@weird.com>
List: tech-kern
Date: 05/03/2001 22:07:11
[ On Thursday, May 3, 2001 at 16:01:21 (-0700), Jason R Thorpe wrote: ]
> Subject: Re: filesystem read-ahead caching....
>
> If you were looking at -current, then it's because the clustering is
> now all done with UBC (using the "clustered pageout" stuff in the
> pageout daemon).

Yes, I'm looking at -current...

But (for FFS) that's just for writing, no?  I want read-ahead too!!!  :-)

Maybe I'm looking in the wrong place, but I only see cluster_read()
called if LFS_READWRITE is defined in sys/ufs/ufs_readwrite.c, and if I
understand that #ifdef correctly the code it wraps (when defined) is
intended only for when that file is used to build the LFS stuff
(i.e. when it's included in lfs_vnops.c).

There's a comment about setting doclusterread being "underway" in
ext2fs/ext2fs_readwrite.c, but even there it doesn't seem to work yet.

Unless there's some other #define that renames some identifier to be
cluster_read() (eg. to replace bread as the comment above the function
definition in vfs_cluster.c suggests) I don't see anything else that'll
enable read-ahead for FFS.

BUT, it doesn't seem like it should be that hard to enable, particularly
given the comments in vfs_cluster.c, which is why I ask....

In fact it almost looks like the one place cluster_read() is called when
LFS_READWRITE is defined would be the only place it needs to be called
for FFS too....

-- 
							Greg A. Woods

+1 416 218-0098      VE3TCP      <gwoods@acm.org>     <woods@robohack.ca>
Planix, Inc. <woods@planix.com>;   Secrets of the Weird <woods@weird.com>