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