From owner-freebsd-current Thu Feb 26 19:48:49 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id TAA10015 for freebsd-current-outgoing; Thu, 26 Feb 1998 19:48:49 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from parkplace.cet.co.jp (parkplace.cet.co.jp [202.32.64.1]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id TAA09974 for ; Thu, 26 Feb 1998 19:48:46 -0800 (PST) (envelope-from michaelh@cet.co.jp) Received: from localhost (michaelh@localhost) by parkplace.cet.co.jp (8.8.8/CET-v2.2) with SMTP id DAA02369 for ; Fri, 27 Feb 1998 03:48:06 GMT Date: Fri, 27 Feb 1998 12:48:06 +0900 (JST) From: Michael Hancock To: freebsd-current@FreeBSD.ORG Subject: VFS_VRELE - WILLRELE must die Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-559023410-1804928587-888551286=:2308" Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---559023410-1804928587-888551286=:2308 Content-Type: TEXT/PLAIN; charset=US-ASCII Implement the complement to all vpp generating ops called in the vfs_vn layer. Some people call this making it reflexive. The 4K tar ball is attached, but I can upload this somewhere if you're mailer doesn't do MIME. Regards, Mike Hancock ------------------ The intent is to get rid of WILLRELE in vnode_if.src by making a complement to all ops that return a vpp, VFS_VRELE. This is initially only for file systems that implement the following ops that do a WILLRELE: vop_create, vop_whiteout, vop_mknod, vop_remove, vop_link, vop_rename, vop_mkdir, vop_rmdir, vop_symlink This is initial DNA that doesn't do anything yet. VFS_VRELE is implemented but not called. In the next phase vop implementations vrele and the vrele part of vput will be moved to the top layer vfs_vnops and made visible to all layers. This will only be done for vnode arguments that are released by the various fs vop implementations. Unlocking will still be done in the per fs layer but the refcount decrement will be initiated at the top because it doesn't hurt to hold a vnode reference a little longer. VFS_VRELE implementations were made for the following file systems: ffs_vfsops.c mfs_vfsops.c nfs_vfsops.c msdosfs_vfsops.c devfs_vfsops.c nullfs_vfsops.c union_vfsops.c umapfs_vfsops.c The following implementations just do ENOTSUPP because they don't implement any of the WILLRELE vops: procfs_procfs.c cd9660_vfsops.c The following code snippet from vn_open is an example of how it will be added later. vop_create releases the directory vnode, but we will change it so that it is initiated in vn_open after the VOP_CREATE returns. Now... if (error = VOP_CREATE(ndp->ni_dvp, &ndp->ni_vp, &ndp->ni_cnd, vap)) return (error); Later... error = VOP_CREATE(ndp->ni_dvp, &ndp->ni_vp, &ndp->ni_cnd, vap); VFS_VRELE(ndp->ni_dvp->vmount, ndp->ni_dvp); if (error) return (error); ---559023410-1804928587-888551286=:2308 Content-Type: APPLICATION/octet-stream; name="vfs_vrele.tgz" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: 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 ---559023410-1804928587-888551286=:2308-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message