Subject: Re: removing VOPs
To: Daniel Carosone <dan@geek.com.au>
From: Chuck Silvers <chuq@chuq.com>
List: tech-kern
Date: 09/27/2005 18:40:27
On Wed, Sep 28, 2005 at 10:45:23AM +1000, Daniel Carosone wrote:
> On Tue, Sep 27, 2005 at 05:10:56PM -0700, Chuck Silvers wrote:
> > sounds very good to me.  mixing fs-internal functions with the
> > API intended for external consumers to use weakens the abstraction.
> > 
> > I'd like to include VOP_BMAP in there eventually, but we need to
> > figure out how to wean the existing external users from it first.
> 
> vnd(4) now has the thread contenxt it needs to avoid using _BMAP
> rather than _READ and _WRITE with the risk of sleeping, and thus
> support holes in the backing file.

vnd isn't the only user of VOP_BMAP.  the swap-to-file code uses it too,
as well as the genfs_{get,put}pages stuff.  and apparently, the "fss" driver,
now that I looked.

funnelling all vnd activity to a given file through one thread doing
synchronous I/O is kinda sucky.  async I/O would be much better, but
we don't have that yet for files (other than via VOP_BMAP).

it'll be a fair bit of work to deal with all this.


> What about the direct-io/cache issues?

the file-system-specific code will be responsible for any necessary
cache-coherency measures.  the patches I posted earlier this year already
handled that, I think.

-Chuck