Subject: Re: puvnd (pass to userland vnd)?
To: None <tech-kern@NetBSD.org>
From: Dieter Baron <dillo@danbala.tuwien.ac.at>
List: tech-kern
Date: 03/09/2007 08:30:39
On Fri, Mar 09, 2007 at 12:16:36PM +1100, Daniel Carosone wrote:
> On Fri, Mar 09, 2007 at 12:25:01AM +0100, Dieter Baron wrote:
> >   Or is it preferable to have the ability to pass block read/write
> > requests to a vnd to a user land process, similar to what puffs does
> > for file systems?

> It might be (for efficiency or other similar reasons) but it shouldn't
> strictly be necessary -- nor am I sure that it's the most
> generally-useful model.
> 
> You should be able to use vnd with a file vnode backed by a puffs
> filesystem (for example, encfs or lzofs).  vnd will turn the block ops
> into vnops just as it does now, and puffs will forward the vnops.

  That sounds rather awkward, at least from a user's point of view.  I
  want it to be as simple as
	$ pubconfig pub0 pub-server-program args
	

> That being said, for specialised block-device-like formats, maybe a
> pass-to-userspace block driver (not via vnd) would be useful too,
> rather than going via vfs and back.  (ie, the operations passed would
> be ops like strategy, start, .., from the block layer).
> 
> Perhaps "pud" (pass-to-user device) or "pub" (... block) or "pus"
> (... strategy) ..

  Yes, that's pretty much what I had in mind.

  How much effort do you think this would be?  Would it be the right
time frame for a SoC project (or is it too short)?  If so would one of
you be willing to co-mentor?

					yours,
					dillo