Subject: Re: removing VOPs
To: Juergen Hannken-Illjes <hannken@eis.cs.tu-bs.de>
From: Jason Thorpe <thorpej@shagadelic.org>
List: tech-kern
Date: 10/20/2005 09:47:14
On Oct 20, 2005, at 9:17 AM, Juergen Hannken-Illjes wrote:

> On Thu, Oct 20, 2005 at 08:48:54AM -0700, Jason Thorpe wrote:
>>
>> On Oct 20, 2005, at 4:18 AM, YAMAMOTO Takashi wrote:
>>
>>> i guess that an alternative would be just making fss do VOP_WRITE
>>> when it needs to allocate blocks.
>>
>> Doesn't that have the unfortunate side-effect of polluting the page
>> cache with extra copies of the data?
>
> Yes, therefore I used VOP_BMAP/VOP_BALLOC for fss(4).

Well, I guess this is why yamt prefers a higher-level API (like  
direct i/o).

> Would it be ok to use
>     ubc_alloc(&vp->v_uobj, ..)
>     uiomove()
>     ubc_release(.., UBC_UNMAP)
>
> or
>     vn_rdwr()
>     VOP_PUTPAGES(.., PGO_CLEANIT|PGO_SYNCIO|PGO_FREE);

Feels icky, but I'll let yamt / chuq speak to it.

-- thorpej