From owner-cvs-src-old@FreeBSD.ORG Wed Jun 10 21:00:22 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 374F7106568E for ; Wed, 10 Jun 2009 21:00:22 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 18E208FC1F for ; Wed, 10 Jun 2009 21:00:21 +0000 (UTC) (envelope-from kib@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 n5AL0KPb021038 for ; Wed, 10 Jun 2009 21:00:20 GMT (envelope-from kib@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5AL0KgD021028 for cvs-src-old@freebsd.org; Wed, 10 Jun 2009 21:00:20 GMT (envelope-from kib@repoman.freebsd.org) Message-Id: <200906102100.n5AL0KgD021028@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to kib@repoman.freebsd.org using -f From: Konstantin Belousov Date: Wed, 10 Jun 2009 20:59:32 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/cam/scsi scsi_target.c src/sys/i386/acpica acpi_machdep.c src/sys/kern init_main.c kern_event.c kern_fork.c sys_pipe.c tty.c tty_pts.c uipc_mqueue.c uipc_socket.c vfs_aio.c vfs_subr.c src/sys/net bpf.c if.c if_tap.c if_tun.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, 10 Jun 2009 21:00:24 -0000 kib 2009-06-10 20:59:32 UTC FreeBSD src repository Modified files: sys/cam/scsi scsi_target.c sys/i386/acpica acpi_machdep.c sys/kern init_main.c kern_event.c kern_fork.c sys_pipe.c tty.c tty_pts.c uipc_mqueue.c uipc_socket.c vfs_aio.c vfs_subr.c sys/net bpf.c if.c if_tap.c if_tun.c sys/security/audit audit_pipe.c sys/sys event.h Log: SVN rev 193951 on 2009-06-10 20:59:32Z by kib Adapt vfs kqfilter to the shared vnode lock used by zfs write vop. Use vnode interlock to protect the knote fields [1]. The locking assumes that shared vnode lock is held, thus we get exclusive access to knote either by exclusive vnode lock protection, or by shared vnode lock + vnode interlock. Do not use kl_locked() method to assert either lock ownership or the fact that curthread does not own the lock. For shared locks, ownership is not recorded, e.g. VOP_ISLOCKED can return LK_SHARED for the shared lock not owned by curthread, causing false positives in kqueue subsystem assertions about knlist lock. Remove kl_locked method from knlist lock vector, and add two separate assertion methods kl_assert_locked and kl_assert_unlocked, that are supposed to use proper asserts. Change knlist_init accordingly. Add convenience function knlist_init_mtx to reduce number of arguments for typical knlist initialization. Submitted by: jhb [1] Noted by: jhb [2] Reviewed by: jhb Tested by: rnoland Revision Changes Path 1.77 +1 -1 src/sys/cam/scsi/scsi_target.c 1.43 +1 -1 src/sys/i386/acpica/acpi_machdep.c 1.302 +1 -1 src/sys/kern/init_main.c 1.125 +29 -14 src/sys/kern/kern_event.c 1.303 +1 -1 src/sys/kern/kern_fork.c 1.204 +2 -4 src/sys/kern/sys_pipe.c 1.319 +2 -2 src/sys/kern/tty.c 1.33 +4 -4 src/sys/kern/tty_pts.c 1.43 +2 -2 src/sys/kern/uipc_mqueue.c 1.334 +4 -8 src/sys/kern/uipc_socket.c 1.243 +2 -2 src/sys/kern/vfs_aio.c 1.766 +39 -8 src/sys/kern/vfs_subr.c 1.212 +1 -1 src/sys/net/bpf.c 1.337 +2 -2 src/sys/net/if.c 1.80 +1 -1 src/sys/net/if_tap.c 1.179 +1 -1 src/sys/net/if_tun.c 1.33 +1 -2 src/sys/security/audit/audit_pipe.c 1.40 +5 -2 src/sys/sys/event.h