From owner-cvs-src-old@FreeBSD.ORG Wed Mar 11 14:14:10 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E24F810657C1 for ; Wed, 11 Mar 2009 14:14:10 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B167A8FC1B for ; Wed, 11 Mar 2009 14:14:10 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2BEEAU9067096 for ; Wed, 11 Mar 2009 14:14:10 GMT (envelope-from jhb@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2BEEAMd067095 for cvs-src-old@freebsd.org; Wed, 11 Mar 2009 14:14:10 GMT (envelope-from jhb@repoman.freebsd.org) Message-Id: <200903111414.n2BEEAMd067095@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to jhb@repoman.freebsd.org using -f From: John Baldwin Date: Wed, 11 Mar 2009 14:13:47 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs zfs_znode.c src/sys/dev/md md.c src/sys/fs/cd9660 cd9660_vfsops.c src/sys/fs/udf udf_vfsops.c src/sys/kern vfs_lookup.c vfs_vnops.c vnode_if.src src/sys/sys mount.h src/sys/ufs/ffs ffs_vfsops.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2009 14:14:11 -0000 jhb 2009-03-11 14:13:47 UTC FreeBSD src repository Modified files: sys/cddl/contrib/opensolaris/uts/common/fs/zfs zfs_znode.c sys/dev/md md.c sys/fs/cd9660 cd9660_vfsops.c sys/fs/udf udf_vfsops.c sys/kern vfs_lookup.c vfs_vnops.c vnode_if.src sys/sys mount.h sys/ufs/ffs ffs_vfsops.c Log: SVN rev 189696 on 2009-03-11 14:13:47Z by jhb Add a new internal mount flag (MNTK_EXTENDED_SHARED) to indicate that a filesystem supports additional operations using shared vnode locks. Currently this is used to enable shared locks for open() and close() of read-only file descriptors. - When an ISOPEN namei() request is performed with LOCKSHARED, use a shared vnode lock for the leaf vnode only if the mount point has the extended shared flag set. - Set LOCKSHARED in vn_open_cred() for requests that specify O_RDONLY but not O_CREAT. - Use a shared vnode lock around VOP_CLOSE() if the file was opened with O_RDONLY and the mountpoint has the extended shared flag set. - Adjust md(4) to upgrade the vnode lock on the vnode it gets back from vn_open() since it now may only have a shared vnode lock. - Don't enable shared vnode locks on FIFO vnodes in ZFS and UFS since FIFO's require exclusive vnode locks for their open() and close() routines. (My recent MPSAFE patches for UDF and cd9660 already included this change.) - Enable extended shared operations on UFS, cd9660, and UDF. Submitted by: ups Reviewed by: pjd (ZFS bits) MFC after: 1 month Revision Changes Path 1.24 +3 -1 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c 1.180 +20 -10 src/sys/dev/md/md.c 1.163 +2 -1 src/sys/fs/cd9660/cd9660_vfsops.c 1.62 +2 -1 src/sys/fs/udf/udf_vfsops.c 1.118 +38 -4 src/sys/kern/vfs_lookup.c 1.276 +11 -3 src/sys/kern/vfs_vnops.c 1.97 +1 -1 src/sys/kern/vnode_if.src 1.243 +2 -1 src/sys/sys/mount.h 1.361 +7 -3 src/sys/ufs/ffs/ffs_vfsops.c