From owner-freebsd-hackers Wed Nov 13 15:58:12 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4149E37B401 for ; Wed, 13 Nov 2002 15:58:11 -0800 (PST) Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id DAABC43E42 for ; Wed, 13 Nov 2002 15:58:10 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com (localhost [127.0.0.1]) by apollo.backplane.com (8.12.5/8.12.5) with ESMTP id gADNwAFC012796; Wed, 13 Nov 2002 15:58:10 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.12.5/8.12.5/Submit) id gADNwAVP012795; Wed, 13 Nov 2002 15:58:10 -0800 (PST) (envelope-from dillon) Date: Wed, 13 Nov 2002 15:58:10 -0800 (PST) From: Matthew Dillon Message-Id: <200211132358.gADNwAVP012795@apollo.backplane.com> To: Terry Lambert Cc: "Daniel O'Connor" , Hans Zaunere , freebsd-hackers@FreeBSD.ORG Subject: Re: Shared files within a jail References: <20021113034726.75787.qmail@web12801.mail.yahoo.com> <1037159767.66058.34.camel@chowder.localdomain> <200211130530.gAD5UxNt067928@apollo.backplane.com> <3DD1FAB9.82607C41@mindspring.com> <200211131114.gADBE3lM069566@apollo.backplane.com> <3DD2DF3A.18489E80@mindspring.com> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG :> I'm fairly sure the VM issues were fixed when VOP_GETVOBJECT was :> added. A file accessed via a null mount will have the same VM object :> as the file in the original filesystem. I'm not 100% sure about :> that, I wasn't the one who did it, but I seem to recall it being :> discussed. : :VOP_GETVOBJECT is a different name, but the VOP was my suggestion, :to allow an upper layer to obtain a backing object, and to :collapse intermediate layers. : :The issue is that the NULLFS getpages falls through the the :vfs_default.c vop_stdgetpages(), which calls the function :vnode_pager_generic_getpages(), which in turn, calls VOP_BMAP(), :which in null_vnops.c is vop_eopnotsupp(), so it falls back to :vnode_pager_input_smlfs(), which VOP_BMAP()'s *again*, but off :the device. : :At which point, you've lost coherency. : :-- Terry It should be calling VOP_BMAP through the VP stored in the VM object, which will be the underlying file, not the nullfs. -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message