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>