Date: Mon, 02 Mar 1998 03:18:37 +0300 From: Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru> To: Terry Lambert <tlambert@primenet.com> Cc: FreeBSD-current@FreeBSD.ORG Subject: Re: VM: Process hangs sleeping on vmpfw Message-ID: <199803020018.DAA01416@tejblum.dnttm.rssi.ru> In-Reply-To: Your message of "Sun, 01 Mar 1998 22:30:49 GMT." <199803012230.PAA26918@usr08.primenet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Terry Lambert wrote:
> > But you must write correct getpages/putpages for unionfs in any case.
> > Or, better, make a bypass routine for unionfs, to avoid similar
> > problems with future new vnode operations :-).
>
> Until this happens, I would prefer that the unionfs not silently
> pretend that there is no problem with the way it works, lulling
> innocent users into a false sense of security.
>
> > > See above for the patch. It's the identification problem and the
> > > stacking problem that I wanted to handle on a case-by-case basis.
> >
> > I don't see why default ops doesn't solve stacking problems.
>
> Because they provide a default operation for every FS, even FS's
> you want to use the bypass instead.
Stacking layers supposed to use generic bypass routine, like this:
{ &vop_default_desc, (vop_t *) null_bypass },
This is the whole point of stacking layers --- they can bypass any
operation that they don't need to handle specifically.
If you disagree with the above statement, you can anyway put
vop_stdgetpages and vop_stdputpages to each local media filesystem's
vnops table, instead of cut&paste the trivial implementation (I repeat
it 3rd time, since I didn't seen an answer to it).
Also, stacking layers will not use the default anyway, if they are
going to work. So I wouldn't count them as vote against getpages/putpages
in the default ops table. If they cannot use a generic bypass, no
one warning will save them from lot of troubles.
>
> Ideally, there will be *no* default ops. This was the point of
> John's comments about simplification in the vnode_pager code.
The comment is there for years.... I will wait until it actually
happens.
[...]
> > > You should also follow the NFS case in vnode_pager_generic_getpages
> > > and look at all the other vp->v_mount references. Look what the
> > > change means to VOP_BMAP, specifically with regard to the assumptions
> > > comment in vnode_pager_generic_getpages and vnode_pager_input_smlfs's
> > > being called -- with the same assumptions but without the test. It's
> > > pretty obvious that the VOP_BMAP return test is equal to the NFS
> > > test. This code is at the heart of a lot of problems, and I'd like
Obvious, but doesn't true. NFS implement VOP_BMAP 8-).
> > > to take it slow...
Dima
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199803020018.DAA01416>
