From owner-cvs-all@FreeBSD.ORG Sun Jul 3 01:10:14 2005 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CC7DC16A8CD; Sun, 3 Jul 2005 00:58:35 +0000 (GMT) (envelope-from ps@mu.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.FreeBSD.org (Postfix) with ESMTP id 46AC9446A6; Sun, 3 Jul 2005 00:42:52 +0000 (GMT) (envelope-from ps@mu.org) Received: by elvis.mu.org (Postfix, from userid 1000) id 626D76DCB6; Sat, 2 Jul 2005 17:38:11 -0700 (PDT) X-Original-To: ps@mu.org Delivered-To: ps@mu.org Received: from mx2.freebsd.org (mx2.freebsd.org [216.136.204.119]) by elvis.mu.org (Postfix) with ESMTP id C52BD5C9C6 for ; Tue, 25 Jan 2005 02:06:03 -0800 (PST) Received: from hub.freebsd.org (hub.freebsd.org [216.136.204.18]) by mx2.freebsd.org (Postfix) with ESMTP id AB2D9555E1 for ; Tue, 25 Jan 2005 10:06:00 +0000 (GMT) (envelope-from owner-src-committers@FreeBSD.org) Received: by hub.freebsd.org (Postfix) id C477616A58F; Tue, 25 Jan 2005 10:05:35 +0000 (GMT) Delivered-To: ps@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 538) id 7685716A4D5; Tue, 25 Jan 2005 10:05:34 +0000 (GMT) Delivered-To: src-committers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5281416A4D7; Tue, 25 Jan 2005 10:05:33 +0000 (GMT) Received: from mail.chesapeake.net (chesapeake.net [208.142.252.6]) by mx1.FreeBSD.org (Postfix) with ESMTP id BDC4043D41; Tue, 25 Jan 2005 10:05:32 +0000 (GMT) (envelope-from jroberson@chesapeake.net) Received: from mail.chesapeake.net (localhost [127.0.0.1]) by mail.chesapeake.net (8.12.10/8.12.10) with ESMTP id j0PA5Wew011615; Tue, 25 Jan 2005 05:05:32 -0500 (EST) (envelope-from jroberson@chesapeake.net) Received: from localhost (jroberson@localhost) by mail.chesapeake.net (8.12.10/8.12.10/Submit) with ESMTP id j0PA5V5O011612; Tue, 25 Jan 2005 05:05:32 -0500 (EST) (envelope-from jroberson@chesapeake.net) X-Authentication-Warning: mail.chesapeake.net: jroberson owned process doing -bs From: Jeff Roberson To: Poul-Henning Kamp In-Reply-To: <79410.1106645301@critter.freebsd.dk> Message-ID: <20050125050151.T18864@mail.chesapeake.net> References: <79410.1106645301@critter.freebsd.dk> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-src-committers@FreeBSD.org Precedence: bulk X-Loop: FreeBSD.ORG X-Spam-Checker-Version: SpamAssassin 3.0.1 (2004-10-22) on elvis.mu.org X-Spam-Status: No, score=-4.9 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.0.1 X-Spam-Level: Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern imgact_elf.c kern_descrip.c kern_exec.c uipc_syscalls.c vfs_bio.c vfs_subr.c vfs_syscalls.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Date: Sun, 03 Jul 2005 01:10:15 -0000 X-Original-Date: Tue, 25 Jan 2005 05:05:31 -0500 (EST) X-List-Received-Date: Sun, 03 Jul 2005 01:10:15 -0000 On Tue, 25 Jan 2005, Poul-Henning Kamp wrote: > In message <20050125042317.D18864@mail.chesapeake.net>, Jeff Roberson writes: > > > >On Tue, 25 Jan 2005, Poul-Henning Kamp wrote: > > > >> phk 2005-01-25 00:39:00 UTC > >> > >> FreeBSD src repository > >> > >> Modified files: > >> sys/kern imgact_elf.c kern_descrip.c kern_exec.c > >> uipc_syscalls.c vfs_bio.c vfs_subr.c > >> vfs_syscalls.c > >> Log: > >> Don't use VOP_GETVOBJECT, use vp->v_object directly. > > > >How does this effect stacking? Originally this was done so we could get > >the appropriate level of vnode object. Was this discussed somewhere that > >I missed? > > It was discussed on arch@ recently. Thanks, that was just what I was looking for. > > Short summary: Instead of the code which calls VOP_OPEN being > responsible for vnode_pager object creation it is now the vnode's > own filesystem which must do so in vop_open() (and vfs_fhtovp() if > exportable). This also shaved 200 lines of code out. Yes, the whole initialization step was pretty clunky. This is definitely an improvement. Thanks. > > Stacking filesystems do this, for instance nullfs sets v_object to that > of the lower filesystem in vop_open() and sets it to NULL in vop_close(). > > That way vp->v_object can be used directly. I think the original intention was such that you could have a translation layer, and GETVOBJECT would return the translated stuff, while the vnode's own private v_object would have untranslated stuff. This will all still be possible once the buffer cache works on bufobjs rather than vnodes. It was also never used, and probably never will be used, but I believe that is the reason we didn't just use v_object before. Cheers, Jeff > > -- > Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 > phk@FreeBSD.ORG | TCP/IP since RFC 956 > FreeBSD committer | BSD since 4.3-tahoe > Never attribute to malice what can adequately be explained by incompetence. >