From owner-freebsd-hackers Wed Nov 13 18:55:40 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 23F3637B401 for ; Wed, 13 Nov 2002 18:55:39 -0800 (PST) Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id B9EA743E3B for ; Wed, 13 Nov 2002 18:55:38 -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 gAE2tcFC024053; Wed, 13 Nov 2002 18:55:38 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.12.5/8.12.5/Submit) id gAE2tbBE024050; Wed, 13 Nov 2002 18:55:37 -0800 (PST) (envelope-from dillon) Date: Wed, 13 Nov 2002 18:55:37 -0800 (PST) From: Matthew Dillon Message-Id: <200211140255.gAE2tbBE024050@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> <200211132358.gADNwAVP012795@apollo.backplane.com> <3DD30492.68FE18E6@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 :> :> It should be calling VOP_BMAP through the VP stored in the VM :> object, which will be the underlying file, not the nullfs. : :Probably, but it's not doing that. The NULLFS implement VOP_BMAP :as vop_eopnotsupp; it doesn't fall through. Even if it did fall :through, the vfs_default.c code is not really written with stacking :in mind, it's written with a local-media FS in mind. VOP_BMAP is :simply not implemented for NULLFS, and is nearly impossible to :implement correctly for a stacking VFS layer in any case, given :the object aliasing problem. : :This is a deeply ingrained bug in FreeBSD's implementation of VFS :stacking. I don't think it's doing that. As far as I can tell it is calling VOP_GETPAGES, which will hit nullfs, and then nullfs should simply call the underlying vnode's VOP_GETPAGES via the null_bypass() function. -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message