Subject: Re: vnd, VOP_ and encrypted fs.
To: None <tech-kern@netbsd.org>
From: Jorgen Lundman <lundman@lundman.net>
List: tech-kern
Date: 10/30/2001 18:24:27
Christos Zoulas wrote:
> 
> On Oct 29,  7:16pm, lundman@lundman.net (Jorgen Lundman) wrote:
> -- Subject: Re: vnd, VOP_ and encrypted fs.
> 
> We means you in this case :-) Steam ahead!
> 

I'm doing somewhat well I feel. Sorted most of the source to be
compilable. However I do have an issue with one section in the code.
They've decided to add another form of getting the data, as described
as:

 * Former method:
 * Break the request into bsize pieces and submit using
VOP_BMAP/VOP_STRATEGY.
 * Note that this driver can only be used for swapping over NFS on the
hp
 * since nfs_strategy on the vax cannot handle u-areas and page tables.
 *
 * Latter method:
 * Repack the buffer into an uio structure and use VOP_READ/VOP_WRITE to
 * access the underlying file.  Things are complicated by the fact that
we
 * might get recursively called due to buffer flushes.  In those cases
we
 * queue one write.

To which they have an "if vndsimple(bp->b_dec)) { " to test whether or
not it should use the new method. (Which appears to be an &0x80 test).

However, in this source section they refer to:

		bp->b_actf = vnd->sc_tab.b_actf;
		vnd->sc_tab.b_actf = bp;

and at the end of the loop:
		bp = vnd->sc_tab.b_actf;
		vnd->sc_tab.b_actf = bp->b_actf;
	
NBSD doesn't have b_actf, but I am guessing our equivalent would be the
b_actq list - but type wise they are not compatible. I'm guessing I
should be using a nice #define to INSERT into it, and REMOVE from it -
anyone care to give pointers?


Lund

-- 
Jorgen "Lord" Lundman <lundman@lundman.net>
Technology Manager, Unix Administrator
Phone: +44 (0)20-86591860  Mobile: +44 (0)79-58642918
Pager: 07958642918@one2one.net
"Rare is the person who can weigh the faults of others 
 without putting his thumb on the scales": Byron J. Langenfeld