Module Name:    src
Committed By:   hannken
Date:           Wed Jul 21 17:52:14 UTC 2010

Modified Files:
        src/external/cddl/osnet/dist/uts/common/fs/zfs: zfs_vfsops.c
            zfs_znode.c
        src/sys/fs/adosfs: adutil.c
        src/sys/fs/cd9660: cd9660_node.c
        src/sys/fs/efs: efs_ihash.c
        src/sys/fs/filecorefs: filecore_node.c
        src/sys/fs/hfs: hfs_nhash.c
        src/sys/fs/msdosfs: msdosfs_denode.c msdosfs_vfsops.c
        src/sys/fs/nilfs: nilfs_subr.c
        src/sys/fs/ntfs: ntfs_vfsops.c
        src/sys/fs/ptyfs: ptyfs_subr.c
        src/sys/fs/puffs: puffs_node.c puffs_vfsops.c
        src/sys/fs/smbfs: smbfs_node.c smbfs_vfsops.c
        src/sys/fs/sysvbfs: sysvbfs_vfsops.c
        src/sys/fs/tmpfs: tmpfs_subr.c
        src/sys/fs/udf: udf_subr.c
        src/sys/fs/union: union_subr.c
        src/sys/kern: vfs_cache.c vfs_subr.c
        src/sys/miscfs/fdesc: fdesc_vnops.c
        src/sys/miscfs/genfs: layer_subr.c
        src/sys/miscfs/kernfs: kernfs_subr.c
        src/sys/miscfs/procfs: procfs_subr.c
        src/sys/miscfs/syncfs: sync_subr.c
        src/sys/nfs: nfs_node.c nfs_vfsops.c
        src/sys/rump/librump/rumpvfs: rumpfs.c
        src/sys/ufs/ext2fs: ext2fs_vfsops.c
        src/sys/ufs/ffs: ffs_vfsops.c
        src/sys/ufs/lfs: lfs_segment.c
        src/sys/ufs/ufs: ufs_ihash.c ufs_quota.c

Log Message:
Make holding v_interlock mandatory for callers of vget().

Announced some time ago on tech-kern.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
    src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c
cvs rdiff -u -r1.8 -r1.9 \
    src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c
cvs rdiff -u -r1.12 -r1.13 src/sys/fs/adosfs/adutil.c
cvs rdiff -u -r1.26 -r1.27 src/sys/fs/cd9660/cd9660_node.c
cvs rdiff -u -r1.5 -r1.6 src/sys/fs/efs/efs_ihash.c
cvs rdiff -u -r1.21 -r1.22 src/sys/fs/filecorefs/filecore_node.c
cvs rdiff -u -r1.10 -r1.11 src/sys/fs/hfs/hfs_nhash.c
cvs rdiff -u -r1.39 -r1.40 src/sys/fs/msdosfs/msdosfs_denode.c
cvs rdiff -u -r1.86 -r1.87 src/sys/fs/msdosfs/msdosfs_vfsops.c
cvs rdiff -u -r1.5 -r1.6 src/sys/fs/nilfs/nilfs_subr.c
cvs rdiff -u -r1.83 -r1.84 src/sys/fs/ntfs/ntfs_vfsops.c
cvs rdiff -u -r1.20 -r1.21 src/sys/fs/ptyfs/ptyfs_subr.c
cvs rdiff -u -r1.15 -r1.16 src/sys/fs/puffs/puffs_node.c
cvs rdiff -u -r1.94 -r1.95 src/sys/fs/puffs/puffs_vfsops.c
cvs rdiff -u -r1.44 -r1.45 src/sys/fs/smbfs/smbfs_node.c
cvs rdiff -u -r1.92 -r1.93 src/sys/fs/smbfs/smbfs_vfsops.c
cvs rdiff -u -r1.33 -r1.34 src/sys/fs/sysvbfs/sysvbfs_vfsops.c
cvs rdiff -u -r1.58 -r1.59 src/sys/fs/tmpfs/tmpfs_subr.c
cvs rdiff -u -r1.106 -r1.107 src/sys/fs/udf/udf_subr.c
cvs rdiff -u -r1.38 -r1.39 src/sys/fs/union/union_subr.c
cvs rdiff -u -r1.86 -r1.87 src/sys/kern/vfs_cache.c
cvs rdiff -u -r1.409 -r1.410 src/sys/kern/vfs_subr.c
cvs rdiff -u -r1.111 -r1.112 src/sys/miscfs/fdesc/fdesc_vnops.c
cvs rdiff -u -r1.30 -r1.31 src/sys/miscfs/genfs/layer_subr.c
cvs rdiff -u -r1.22 -r1.23 src/sys/miscfs/kernfs/kernfs_subr.c
cvs rdiff -u -r1.97 -r1.98 src/sys/miscfs/procfs/procfs_subr.c
cvs rdiff -u -r1.42 -r1.43 src/sys/miscfs/syncfs/sync_subr.c
cvs rdiff -u -r1.112 -r1.113 src/sys/nfs/nfs_node.c
cvs rdiff -u -r1.215 -r1.216 src/sys/nfs/nfs_vfsops.c
cvs rdiff -u -r1.62 -r1.63 src/sys/rump/librump/rumpvfs/rumpfs.c
cvs rdiff -u -r1.157 -r1.158 src/sys/ufs/ext2fs/ext2fs_vfsops.c
cvs rdiff -u -r1.259 -r1.260 src/sys/ufs/ffs/ffs_vfsops.c
cvs rdiff -u -r1.216 -r1.217 src/sys/ufs/lfs/lfs_segment.c
cvs rdiff -u -r1.29 -r1.30 src/sys/ufs/ufs/ufs_ihash.c
cvs rdiff -u -r1.66 -r1.67 src/sys/ufs/ufs/ufs_quota.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.4 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.5
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.4	Sat Feb 27 23:43:53 2010
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c	Wed Jul 21 17:52:09 2010
@@ -207,7 +207,7 @@
 		}
 		vmark(mvp, vp);
 		mutex_exit(&mntvnode_lock);
-		error = vget(vp, LK_EXCLUSIVE | LK_INTERLOCK);
+		error = vget(vp, LK_EXCLUSIVE);
 		if (error) {
 			mutex_enter(&mntvnode_lock);
 			nvp = vunmark(mvp);

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.8 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.9
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.8	Thu Jun 24 13:03:05 2010
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c	Wed Jul 21 17:52:09 2010
@@ -949,7 +949,7 @@
 			if ((vp = ZTOV(zp)) != NULL) {
 				mutex_enter(&vp->v_interlock);
 				mutex_exit(&zp->z_lock);
-				if (vget(vp, LK_INTERLOCK) != 0) {
+				if (vget(vp, 0) != 0) {
 					dmu_buf_rele(db, NULL);
 					mutex_exit(&vp->v_interlock);
 					goto again;

Index: src/sys/fs/adosfs/adutil.c
diff -u src/sys/fs/adosfs/adutil.c:1.12 src/sys/fs/adosfs/adutil.c:1.13
--- src/sys/fs/adosfs/adutil.c:1.12	Thu Jul  1 13:00:55 2010
+++ src/sys/fs/adosfs/adutil.c	Wed Jul 21 17:52:09 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: adutil.c,v 1.12 2010/07/01 13:00:55 hannken Exp $	*/
+/*	$NetBSD: adutil.c,v 1.13 2010/07/21 17:52:09 hannken Exp $	*/
 
 /*
  * Copyright (c) 1994 Christian E. Hopps
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: adutil.c,v 1.12 2010/07/01 13:00:55 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: adutil.c,v 1.13 2010/07/21 17:52:09 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/vnode.h>
@@ -70,7 +70,7 @@
 			vp = ATOV(ap);
 			mutex_enter(&vp->v_interlock);
 			simple_unlock(&adosfs_hashlock);
-			if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK))
+			if (vget(vp, LK_EXCLUSIVE))
 				goto start_over;
 			return (ATOV(ap));
 		}

Index: src/sys/fs/cd9660/cd9660_node.c
diff -u src/sys/fs/cd9660/cd9660_node.c:1.26 src/sys/fs/cd9660/cd9660_node.c:1.27
--- src/sys/fs/cd9660/cd9660_node.c:1.26	Thu Jul  1 13:00:55 2010
+++ src/sys/fs/cd9660/cd9660_node.c	Wed Jul 21 17:52:09 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: cd9660_node.c,v 1.26 2010/07/01 13:00:55 hannken Exp $	*/
+/*	$NetBSD: cd9660_node.c,v 1.27 2010/07/21 17:52:09 hannken Exp $	*/
 
 /*-
  * Copyright (c) 1982, 1986, 1989, 1994
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cd9660_node.c,v 1.26 2010/07/01 13:00:55 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cd9660_node.c,v 1.27 2010/07/21 17:52:09 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -151,7 +151,7 @@
 			} else {
 				mutex_enter(&vp->v_interlock);
 				mutex_exit(&cd9660_ihash_lock);
-				if (vget(vp, flags | LK_INTERLOCK))
+				if (vget(vp, flags))
 					goto loop;
 			}
 			return (vp);

Index: src/sys/fs/efs/efs_ihash.c
diff -u src/sys/fs/efs/efs_ihash.c:1.5 src/sys/fs/efs/efs_ihash.c:1.6
--- src/sys/fs/efs/efs_ihash.c:1.5	Thu Jul  1 13:00:55 2010
+++ src/sys/fs/efs/efs_ihash.c	Wed Jul 21 17:52:09 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: efs_ihash.c,v 1.5 2010/07/01 13:00:55 hannken Exp $	*/
+/*	$NetBSD: efs_ihash.c,v 1.6 2010/07/21 17:52:09 hannken Exp $	*/
 
 /*
  * Copyright (c) 1982, 1986, 1989, 1991, 1993
@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: efs_ihash.c,v 1.5 2010/07/01 13:00:55 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: efs_ihash.c,v 1.6 2010/07/21 17:52:09 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -146,7 +146,7 @@
 			} else {
 				mutex_enter(&vp->v_interlock);
 				mutex_exit(&efs_ihash_lock);
-				if (vget(vp, flags | LK_INTERLOCK))
+				if (vget(vp, flags))
 					goto loop;
 			}
 			return (vp);

Index: src/sys/fs/filecorefs/filecore_node.c
diff -u src/sys/fs/filecorefs/filecore_node.c:1.21 src/sys/fs/filecorefs/filecore_node.c:1.22
--- src/sys/fs/filecorefs/filecore_node.c:1.21	Thu Jul  1 13:00:55 2010
+++ src/sys/fs/filecorefs/filecore_node.c	Wed Jul 21 17:52:09 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: filecore_node.c,v 1.21 2010/07/01 13:00:55 hannken Exp $	*/
+/*	$NetBSD: filecore_node.c,v 1.22 2010/07/21 17:52:09 hannken Exp $	*/
 
 /*-
  * Copyright (c) 1982, 1986, 1989, 1994
@@ -67,7 +67,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: filecore_node.c,v 1.21 2010/07/01 13:00:55 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: filecore_node.c,v 1.22 2010/07/21 17:52:09 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -174,7 +174,7 @@
 			vp = ITOV(ip);
 			mutex_enter(&vp->v_interlock);
 			simple_unlock(&filecore_ihash_slock);
-			if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK))
+			if (vget(vp, LK_EXCLUSIVE))
 				goto loop;
 			return (vp);
 		}

Index: src/sys/fs/hfs/hfs_nhash.c
diff -u src/sys/fs/hfs/hfs_nhash.c:1.10 src/sys/fs/hfs/hfs_nhash.c:1.11
--- src/sys/fs/hfs/hfs_nhash.c:1.10	Thu Jul  1 13:00:55 2010
+++ src/sys/fs/hfs/hfs_nhash.c	Wed Jul 21 17:52:10 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: hfs_nhash.c,v 1.10 2010/07/01 13:00:55 hannken Exp $	*/
+/*	$NetBSD: hfs_nhash.c,v 1.11 2010/07/21 17:52:10 hannken Exp $	*/
 
 /*-
  * Copyright (c) 2005, 2007 The NetBSD Foundation, Inc.
@@ -59,7 +59,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hfs_nhash.c,v 1.10 2010/07/01 13:00:55 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hfs_nhash.c,v 1.11 2010/07/21 17:52:10 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -131,7 +131,7 @@
 			} else {
 				mutex_enter(&vp->v_interlock);
 				mutex_exit(&hfs_nhash_lock);
-				if (vget(vp, flags | LK_INTERLOCK))
+				if (vget(vp, flags))
 					goto loop;
 			}
 			return vp;

Index: src/sys/fs/msdosfs/msdosfs_denode.c
diff -u src/sys/fs/msdosfs/msdosfs_denode.c:1.39 src/sys/fs/msdosfs/msdosfs_denode.c:1.40
--- src/sys/fs/msdosfs/msdosfs_denode.c:1.39	Thu Jun 24 13:03:09 2010
+++ src/sys/fs/msdosfs/msdosfs_denode.c	Wed Jul 21 17:52:10 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: msdosfs_denode.c,v 1.39 2010/06/24 13:03:09 hannken Exp $	*/
+/*	$NetBSD: msdosfs_denode.c,v 1.40 2010/07/21 17:52:10 hannken Exp $	*/
 
 /*-
  * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank.
@@ -48,7 +48,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: msdosfs_denode.c,v 1.39 2010/06/24 13:03:09 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: msdosfs_denode.c,v 1.40 2010/07/21 17:52:10 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -173,7 +173,7 @@
 			} else {
 				mutex_enter(&vp->v_interlock);
 				mutex_exit(&msdosfs_ihash_lock);
-				if (vget(vp, flags | LK_INTERLOCK))
+				if (vget(vp, flags))
 					goto loop;
 			}
 			return (dep);

Index: src/sys/fs/msdosfs/msdosfs_vfsops.c
diff -u src/sys/fs/msdosfs/msdosfs_vfsops.c:1.86 src/sys/fs/msdosfs/msdosfs_vfsops.c:1.87
--- src/sys/fs/msdosfs/msdosfs_vfsops.c:1.86	Thu Jun 24 13:03:09 2010
+++ src/sys/fs/msdosfs/msdosfs_vfsops.c	Wed Jul 21 17:52:10 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: msdosfs_vfsops.c,v 1.86 2010/06/24 13:03:09 hannken Exp $	*/
+/*	$NetBSD: msdosfs_vfsops.c,v 1.87 2010/07/21 17:52:10 hannken Exp $	*/
 
 /*-
  * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank.
@@ -48,7 +48,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: msdosfs_vfsops.c,v 1.86 2010/06/24 13:03:09 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: msdosfs_vfsops.c,v 1.87 2010/07/21 17:52:10 hannken Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -962,9 +962,9 @@
 	 * threads waiting on fstrans may have locked vnodes.
 	 */
 	if (is_suspending)
-		lk_flags = LK_INTERLOCK;
+		lk_flags = 0;
 	else
-		lk_flags = LK_INTERLOCK | LK_EXCLUSIVE | LK_NOWAIT;
+		lk_flags = LK_EXCLUSIVE | LK_NOWAIT;
 	/*
 	 * Write back each (modified) denode.
 	 */

Index: src/sys/fs/nilfs/nilfs_subr.c
diff -u src/sys/fs/nilfs/nilfs_subr.c:1.5 src/sys/fs/nilfs/nilfs_subr.c:1.6
--- src/sys/fs/nilfs/nilfs_subr.c:1.5	Thu Jun 24 12:15:46 2010
+++ src/sys/fs/nilfs/nilfs_subr.c	Wed Jul 21 17:52:10 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: nilfs_subr.c,v 1.5 2010/06/24 12:15:46 reinoud Exp $ */
+/* $NetBSD: nilfs_subr.c,v 1.6 2010/07/21 17:52:10 hannken Exp $ */
 
 /*
  * Copyright (c) 2008, 2009 Reinoud Zandijk
@@ -28,7 +28,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__KERNEL_RCSID(0, "$NetBSD: nilfs_subr.c,v 1.5 2010/06/24 12:15:46 reinoud Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nilfs_subr.c,v 1.6 2010/07/21 17:52:10 hannken Exp $");
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -784,7 +784,7 @@
 			assert(vp);
 			mutex_enter(&vp->v_interlock);
 			mutex_exit(&ump->ihash_lock);
-			if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK))
+			if (vget(vp, LK_EXCLUSIVE))
 				goto loop;
 			return node;
 		}

Index: src/sys/fs/ntfs/ntfs_vfsops.c
diff -u src/sys/fs/ntfs/ntfs_vfsops.c:1.83 src/sys/fs/ntfs/ntfs_vfsops.c:1.84
--- src/sys/fs/ntfs/ntfs_vfsops.c:1.83	Mon Jul 19 08:17:44 2010
+++ src/sys/fs/ntfs/ntfs_vfsops.c	Wed Jul 21 17:52:10 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: ntfs_vfsops.c,v 1.83 2010/07/19 08:17:44 hannken Exp $	*/
+/*	$NetBSD: ntfs_vfsops.c,v 1.84 2010/07/21 17:52:10 hannken Exp $	*/
 
 /*-
  * Copyright (c) 1998, 1999 Semen Ustimenko
@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ntfs_vfsops.c,v 1.83 2010/07/19 08:17:44 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ntfs_vfsops.c,v 1.84 2010/07/21 17:52:10 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -785,7 +785,7 @@
 	if (vp) {
 		mutex_enter(&vp->v_interlock);
 		ntfs_ntput(ip);
-		if (vget(vp, LK_INTERLOCK | lkflags) != 0)
+		if (vget(vp, lkflags) != 0)
 			goto loop;
 		*vpp = vp;
 		return 0;

Index: src/sys/fs/ptyfs/ptyfs_subr.c
diff -u src/sys/fs/ptyfs/ptyfs_subr.c:1.20 src/sys/fs/ptyfs/ptyfs_subr.c:1.21
--- src/sys/fs/ptyfs/ptyfs_subr.c:1.20	Thu Jul  1 13:00:55 2010
+++ src/sys/fs/ptyfs/ptyfs_subr.c	Wed Jul 21 17:52:10 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: ptyfs_subr.c,v 1.20 2010/07/01 13:00:55 hannken Exp $	*/
+/*	$NetBSD: ptyfs_subr.c,v 1.21 2010/07/21 17:52:10 hannken Exp $	*/
 
 /*
  * Copyright (c) 1993
@@ -73,7 +73,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ptyfs_subr.c,v 1.20 2010/07/01 13:00:55 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ptyfs_subr.c,v 1.21 2010/07/21 17:52:10 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -369,7 +369,7 @@
 			} else {
 				mutex_enter(&vp->v_interlock);
 				mutex_exit(&ptyfs_used_slock);
-				if (vget(vp, flags | LK_INTERLOCK))
+				if (vget(vp, flags))
 					goto loop;
 			}
 			return vp;

Index: src/sys/fs/puffs/puffs_node.c
diff -u src/sys/fs/puffs/puffs_node.c:1.15 src/sys/fs/puffs/puffs_node.c:1.16
--- src/sys/fs/puffs/puffs_node.c:1.15	Thu Nov  5 19:42:44 2009
+++ src/sys/fs/puffs/puffs_node.c	Wed Jul 21 17:52:10 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: puffs_node.c,v 1.15 2009/11/05 19:42:44 pooka Exp $	*/
+/*	$NetBSD: puffs_node.c,v 1.16 2010/07/21 17:52:10 hannken Exp $	*/
 
 /*
  * Copyright (c) 2005, 2006, 2007  Antti Kantee.  All Rights Reserved.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: puffs_node.c,v 1.15 2009/11/05 19:42:44 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: puffs_node.c,v 1.16 2010/07/21 17:52:10 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/hash.h>
@@ -315,7 +315,7 @@
 	if (vp) {
 		mutex_enter(&vp->v_interlock);
 		mutex_exit(&pmp->pmp_lock);
-		if (vget(vp, LK_INTERLOCK) == 0)
+		if (vget(vp, 0) == 0)
 			return 0;
 	} else
 		mutex_exit(&pmp->pmp_lock);
@@ -397,7 +397,7 @@
 	mutex_enter(&vp->v_interlock);
 	mutex_exit(&pmp->pmp_lock);
 
-	vgetflags = LK_INTERLOCK;
+	vgetflags = 0;
 	if (lock)
 		vgetflags |= LK_EXCLUSIVE | LK_RETRY;
 	if ((rv = vget(vp, vgetflags)))

Index: src/sys/fs/puffs/puffs_vfsops.c
diff -u src/sys/fs/puffs/puffs_vfsops.c:1.94 src/sys/fs/puffs/puffs_vfsops.c:1.95
--- src/sys/fs/puffs/puffs_vfsops.c:1.94	Thu Jul 15 21:55:05 2010
+++ src/sys/fs/puffs/puffs_vfsops.c	Wed Jul 21 17:52:10 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: puffs_vfsops.c,v 1.94 2010/07/15 21:55:05 pooka Exp $	*/
+/*	$NetBSD: puffs_vfsops.c,v 1.95 2010/07/21 17:52:10 hannken Exp $	*/
 
 /*
  * Copyright (c) 2005, 2006  Antti Kantee.  All Rights Reserved.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: puffs_vfsops.c,v 1.94 2010/07/15 21:55:05 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: puffs_vfsops.c,v 1.95 2010/07/21 17:52:10 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/mount.h>
@@ -558,7 +558,7 @@
 		 * vnodes through other routes in any case.  So there,
 		 * sync() doesn't actually sync.  Happy now?
 		 */
-		rv = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK);
+		rv = vget(vp, LK_EXCLUSIVE | LK_NOWAIT);
 		if (rv) {
 			mutex_enter(&mntvnode_lock);
 			if (rv == ENOENT) {

Index: src/sys/fs/smbfs/smbfs_node.c
diff -u src/sys/fs/smbfs/smbfs_node.c:1.44 src/sys/fs/smbfs/smbfs_node.c:1.45
--- src/sys/fs/smbfs/smbfs_node.c:1.44	Fri Jul  9 08:16:28 2010
+++ src/sys/fs/smbfs/smbfs_node.c	Wed Jul 21 17:52:11 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: smbfs_node.c,v 1.44 2010/07/09 08:16:28 hannken Exp $	*/
+/*	$NetBSD: smbfs_node.c,v 1.45 2010/07/21 17:52:11 hannken Exp $	*/
 
 /*
  * Copyright (c) 2000-2001 Boris Popov
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: smbfs_node.c,v 1.44 2010/07/09 08:16:28 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: smbfs_node.c,v 1.45 2010/07/21 17:52:11 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -137,7 +137,7 @@
 		vp = SMBTOV(np);
 		mutex_enter(&(vp)->v_interlock);
 		mutex_exit(&smp->sm_hashlock);
-		if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK) != 0)
+		if (vget(vp, LK_EXCLUSIVE) != 0)
 			goto retry;
 		*vpp = vp;
 		return (0);

Index: src/sys/fs/smbfs/smbfs_vfsops.c
diff -u src/sys/fs/smbfs/smbfs_vfsops.c:1.92 src/sys/fs/smbfs/smbfs_vfsops.c:1.93
--- src/sys/fs/smbfs/smbfs_vfsops.c:1.92	Fri Jul  9 08:16:28 2010
+++ src/sys/fs/smbfs/smbfs_vfsops.c	Wed Jul 21 17:52:11 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: smbfs_vfsops.c,v 1.92 2010/07/09 08:16:28 hannken Exp $	*/
+/*	$NetBSD: smbfs_vfsops.c,v 1.93 2010/07/21 17:52:11 hannken Exp $	*/
 
 /*
  * Copyright (c) 2000-2001, Boris Popov
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: smbfs_vfsops.c,v 1.92 2010/07/09 08:16:28 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: smbfs_vfsops.c,v 1.93 2010/07/21 17:52:11 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -446,7 +446,7 @@
 			continue;
 		}
 		mutex_exit(&mntvnode_lock);
-		error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK);
+		error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT);
 		if (error) {
 			mutex_enter(&mntvnode_lock);
 			if (error == ENOENT) {

Index: src/sys/fs/sysvbfs/sysvbfs_vfsops.c
diff -u src/sys/fs/sysvbfs/sysvbfs_vfsops.c:1.33 src/sys/fs/sysvbfs/sysvbfs_vfsops.c:1.34
--- src/sys/fs/sysvbfs/sysvbfs_vfsops.c:1.33	Wed Jul  7 16:19:55 2010
+++ src/sys/fs/sysvbfs/sysvbfs_vfsops.c	Wed Jul 21 17:52:11 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: sysvbfs_vfsops.c,v 1.33 2010/07/07 16:19:55 njoly Exp $	*/
+/*	$NetBSD: sysvbfs_vfsops.c,v 1.34 2010/07/21 17:52:11 hannken Exp $	*/
 
 /*-
  * Copyright (c) 2004 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sysvbfs_vfsops.c,v 1.33 2010/07/07 16:19:55 njoly Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sysvbfs_vfsops.c,v 1.34 2010/07/21 17:52:11 hannken Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -314,7 +314,7 @@
 		v = bnode->vnode;
 	    	mutex_enter(&v->v_interlock);
 		mutex_exit(&mntvnode_lock);
-		err = vget(v, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK);
+		err = vget(v, LK_EXCLUSIVE | LK_NOWAIT);
 		if (err == 0) {
 			err = VOP_FSYNC(v, cred, FSYNC_WAIT, 0, 0);
 			vput(v);
@@ -353,7 +353,7 @@
 			vp = bnode->vnode;
 			mutex_enter(&vp->v_interlock);
 			mutex_exit(&mntvnode_lock);
-			if (vget(vp, LK_EXCLUSIVE|LK_RETRY|LK_INTERLOCK) == 0) {
+			if (vget(vp, LK_EXCLUSIVE | LK_RETRY) == 0) {
 				*vpp = vp;
 				return 0;
 			} else {

Index: src/sys/fs/tmpfs/tmpfs_subr.c
diff -u src/sys/fs/tmpfs/tmpfs_subr.c:1.58 src/sys/fs/tmpfs/tmpfs_subr.c:1.59
--- src/sys/fs/tmpfs/tmpfs_subr.c:1.58	Fri Jul  2 03:29:47 2010
+++ src/sys/fs/tmpfs/tmpfs_subr.c	Wed Jul 21 17:52:11 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: tmpfs_subr.c,v 1.58 2010/07/02 03:29:47 rmind Exp $	*/
+/*	$NetBSD: tmpfs_subr.c,v 1.59 2010/07/21 17:52:11 hannken Exp $	*/
 
 /*
  * Copyright (c) 2005, 2006, 2007 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tmpfs_subr.c,v 1.58 2010/07/02 03:29:47 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tmpfs_subr.c,v 1.59 2010/07/21 17:52:11 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/dirent.h>
@@ -346,7 +346,7 @@
 		if ((vp = node->tn_vnode) != NULL) {
 			mutex_enter(&vp->v_interlock);
 			mutex_exit(&node->tn_vlock);
-			error = vget(vp, LK_EXCLUSIVE | LK_INTERLOCK);
+			error = vget(vp, LK_EXCLUSIVE);
 			if (error == ENOENT) {
 				/* vnode was reclaimed. */
 				continue;

Index: src/sys/fs/udf/udf_subr.c
diff -u src/sys/fs/udf/udf_subr.c:1.106 src/sys/fs/udf/udf_subr.c:1.107
--- src/sys/fs/udf/udf_subr.c:1.106	Thu Jul  1 13:00:55 2010
+++ src/sys/fs/udf/udf_subr.c	Wed Jul 21 17:52:11 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: udf_subr.c,v 1.106 2010/07/01 13:00:55 hannken Exp $ */
+/* $NetBSD: udf_subr.c,v 1.107 2010/07/21 17:52:11 hannken Exp $ */
 
 /*
  * Copyright (c) 2006, 2008 Reinoud Zandijk
@@ -29,7 +29,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__KERNEL_RCSID(0, "$NetBSD: udf_subr.c,v 1.106 2010/07/01 13:00:55 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: udf_subr.c,v 1.107 2010/07/21 17:52:11 hannken Exp $");
 #endif /* not lint */
 
 
@@ -3445,7 +3445,7 @@
 		assert(vp);
 		mutex_enter(&vp->v_interlock);
 		mutex_exit(&ump->ihash_lock);
-		if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK))
+		if (vget(vp, LK_EXCLUSIVE))
 			goto loop;
 		return udf_node;
 	}
@@ -6401,7 +6401,7 @@
 		}
 
 		mutex_exit(&mntvnode_lock);
-		error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK);
+		error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT);
 		if (error) {
 			mutex_enter(&mntvnode_lock);
 			if (error == ENOENT)

Index: src/sys/fs/union/union_subr.c
diff -u src/sys/fs/union/union_subr.c:1.38 src/sys/fs/union/union_subr.c:1.39
--- src/sys/fs/union/union_subr.c:1.38	Fri Jul 16 08:23:28 2010
+++ src/sys/fs/union/union_subr.c	Wed Jul 21 17:52:11 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: union_subr.c,v 1.38 2010/07/16 08:23:28 hannken Exp $	*/
+/*	$NetBSD: union_subr.c,v 1.39 2010/07/21 17:52:11 hannken Exp $	*/
 
 /*
  * Copyright (c) 1994
@@ -72,7 +72,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: union_subr.c,v 1.38 2010/07/16 08:23:28 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: union_subr.c,v 1.39 2010/07/21 17:52:11 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -396,7 +396,7 @@
 			    (UNIONTOV(un)->v_mount == mp)) {
 				vp = UNIONTOV(un);
 				mutex_enter(&vp->v_interlock);
-				if (vget(vp, LK_INTERLOCK)) {
+				if (vget(vp, 0)) {
 					union_list_unlock(hash);
 					goto loop;
 				}

Index: src/sys/kern/vfs_cache.c
diff -u src/sys/kern/vfs_cache.c:1.86 src/sys/kern/vfs_cache.c:1.87
--- src/sys/kern/vfs_cache.c:1.86	Wed Jul 21 09:01:36 2010
+++ src/sys/kern/vfs_cache.c	Wed Jul 21 17:52:12 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: vfs_cache.c,v 1.86 2010/07/21 09:01:36 hannken Exp $	*/
+/*	$NetBSD: vfs_cache.c,v 1.87 2010/07/21 17:52:12 hannken Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -58,7 +58,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_cache.c,v 1.86 2010/07/21 09:01:36 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_cache.c,v 1.87 2010/07/21 17:52:12 hannken Exp $");
 
 #include "opt_ddb.h"
 #include "opt_revcache.h"
@@ -372,7 +372,7 @@
 		mutex_enter(&vp->v_interlock);
 		mutex_exit(&ncp->nc_lock);
 		mutex_exit(&cpup->cpu_lock);
-		error = vget(vp, LK_NOWAIT | LK_INTERLOCK);
+		error = vget(vp, LK_NOWAIT);
 		if (error) {
 			KASSERT(error == EBUSY);
 			/*
@@ -470,7 +470,7 @@
 		mutex_enter(&vp->v_interlock);
 		mutex_exit(&ncp->nc_lock);
 		mutex_exit(&cpup->cpu_lock);
-		error = vget(vp, LK_NOWAIT | LK_INTERLOCK);
+		error = vget(vp, LK_NOWAIT);
 		if (error) {
 			KASSERT(error == EBUSY);
 			/*
@@ -555,7 +555,7 @@
 				mutex_enter(&dvp->v_interlock);
 				mutex_exit(&ncp->nc_lock); 
 				mutex_exit(namecache_lock);
-				error = vget(dvp, LK_NOWAIT | LK_INTERLOCK);
+				error = vget(dvp, LK_NOWAIT);
 				if (error) {
 					KASSERT(error == EBUSY);
 					if (bufp)

Index: src/sys/kern/vfs_subr.c
diff -u src/sys/kern/vfs_subr.c:1.409 src/sys/kern/vfs_subr.c:1.410
--- src/sys/kern/vfs_subr.c:1.409	Wed Jul 21 09:06:38 2010
+++ src/sys/kern/vfs_subr.c	Wed Jul 21 17:52:12 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: vfs_subr.c,v 1.409 2010/07/21 09:06:38 hannken Exp $	*/
+/*	$NetBSD: vfs_subr.c,v 1.410 2010/07/21 17:52:12 hannken Exp $	*/
 
 /*-
  * Copyright (c) 1997, 1998, 2004, 2005, 2007, 2008 The NetBSD Foundation, Inc.
@@ -91,7 +91,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_subr.c,v 1.409 2010/07/21 09:06:38 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_subr.c,v 1.410 2010/07/21 17:52:12 hannken Exp $");
 
 #include "opt_ddb.h"
 #include "opt_compat_netbsd.h"
@@ -1274,6 +1274,7 @@
  * grab the vnode, so the process is awakened when the transition is
  * completed, and an error returned to indicate that the vnode is no
  * longer usable (possibly having been changed to a new file system type).
+ * Called with v_interlock held.
  */
 int
 vget(vnode_t *vp, int flags)
@@ -1281,9 +1282,7 @@
 	int error = 0;
 
 	KASSERT((vp->v_iflag & VI_MARKER) == 0);
-
-	if ((flags & LK_INTERLOCK) == 0)
-		mutex_enter(&vp->v_interlock);
+	KASSERT(mutex_owned(&vp->v_interlock));
 
 	/*
 	 * Before adding a reference, we must remove the vnode
@@ -2011,7 +2010,7 @@
 	}
 	mutex_enter(&vp->v_interlock);
 	mutex_exit(&device_lock);
-	if (vget(vp, LK_INTERLOCK) != 0)
+	if (vget(vp, 0) != 0)
 		return 0;
 	*vpp = vp;
 	return 1;
@@ -2043,7 +2042,7 @@
 				continue;
 			}
 			mutex_exit(&device_lock);
-			if (vget(vp, LK_INTERLOCK) == 0) {
+			if (vget(vp, 0) == 0) {
 				VOP_REVOKE(vp, REVOKEALL);
 				vrele(vp);
 			}

Index: src/sys/miscfs/fdesc/fdesc_vnops.c
diff -u src/sys/miscfs/fdesc/fdesc_vnops.c:1.111 src/sys/miscfs/fdesc/fdesc_vnops.c:1.112
--- src/sys/miscfs/fdesc/fdesc_vnops.c:1.111	Fri Jul 16 10:41:12 2010
+++ src/sys/miscfs/fdesc/fdesc_vnops.c	Wed Jul 21 17:52:12 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: fdesc_vnops.c,v 1.111 2010/07/16 10:41:12 hannken Exp $	*/
+/*	$NetBSD: fdesc_vnops.c,v 1.112 2010/07/21 17:52:12 hannken Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: fdesc_vnops.c,v 1.111 2010/07/16 10:41:12 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fdesc_vnops.c,v 1.112 2010/07/21 17:52:12 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -216,7 +216,7 @@
 		if (fd->fd_ix == ix && fd->fd_vnode->v_mount == mp) {
 			mutex_enter(&fd->fd_vnode->v_interlock);
 			mutex_exit(&fdcache_lock);
-			if (vget(fd->fd_vnode, LK_INTERLOCK | LK_EXCLUSIVE))
+			if (vget(fd->fd_vnode, LK_EXCLUSIVE))
 				goto loop;
 			*vpp = fd->fd_vnode;
 			return 0;

Index: src/sys/miscfs/genfs/layer_subr.c
diff -u src/sys/miscfs/genfs/layer_subr.c:1.30 src/sys/miscfs/genfs/layer_subr.c:1.31
--- src/sys/miscfs/genfs/layer_subr.c:1.30	Fri Jul  2 03:16:00 2010
+++ src/sys/miscfs/genfs/layer_subr.c	Wed Jul 21 17:52:12 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: layer_subr.c,v 1.30 2010/07/02 03:16:00 rmind Exp $	*/
+/*	$NetBSD: layer_subr.c,v 1.31 2010/07/21 17:52:12 hannken Exp $	*/
 
 /*
  * Copyright (c) 1999 National Aeronautics & Space Administration
@@ -69,7 +69,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: layer_subr.c,v 1.30 2010/07/02 03:16:00 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: layer_subr.c,v 1.31 2010/07/21 17:52:12 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -162,7 +162,7 @@
 		 * the lower vp is already locked and locking the layer vp
 		 * will involve locking the lower vp.
 		 */
-		error = vget(vp, LK_INTERLOCK | LK_NOWAIT);
+		error = vget(vp, LK_NOWAIT);
 		if (error) {
 			kpause("layerfs", false, 1, NULL);
 			mutex_enter(&lmp->layerm_hashlock);

Index: src/sys/miscfs/kernfs/kernfs_subr.c
diff -u src/sys/miscfs/kernfs/kernfs_subr.c:1.22 src/sys/miscfs/kernfs/kernfs_subr.c:1.23
--- src/sys/miscfs/kernfs/kernfs_subr.c:1.22	Wed Jul 21 09:06:38 2010
+++ src/sys/miscfs/kernfs/kernfs_subr.c	Wed Jul 21 17:52:12 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: kernfs_subr.c,v 1.22 2010/07/21 09:06:38 hannken Exp $	*/
+/*	$NetBSD: kernfs_subr.c,v 1.23 2010/07/21 17:52:12 hannken Exp $	*/
 
 /*
  * Copyright (c) 1993
@@ -73,7 +73,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kernfs_subr.c,v 1.22 2010/07/21 09:06:38 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kernfs_subr.c,v 1.23 2010/07/21 17:52:12 hannken Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_ipsec.h"
@@ -317,7 +317,7 @@
 		    pp->kfs_kt == kt && pp->kfs_value == value) {
 			mutex_enter(&vp->v_interlock);
 			mutex_exit(&kfs_ihash_lock);
-			if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK))
+			if (vget(vp, LK_EXCLUSIVE))
 				goto loop;
 			return (vp);
 		}

Index: src/sys/miscfs/procfs/procfs_subr.c
diff -u src/sys/miscfs/procfs/procfs_subr.c:1.97 src/sys/miscfs/procfs/procfs_subr.c:1.98
--- src/sys/miscfs/procfs/procfs_subr.c:1.97	Thu Jul  1 13:00:56 2010
+++ src/sys/miscfs/procfs/procfs_subr.c	Wed Jul 21 17:52:12 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: procfs_subr.c,v 1.97 2010/07/01 13:00:56 hannken Exp $	*/
+/*	$NetBSD: procfs_subr.c,v 1.98 2010/07/21 17:52:12 hannken Exp $	*/
 
 /*-
  * Copyright (c) 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -102,7 +102,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: procfs_subr.c,v 1.97 2010/07/01 13:00:56 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: procfs_subr.c,v 1.98 2010/07/21 17:52:12 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -601,7 +601,7 @@
 			} else {
 				mutex_enter(&vp->v_interlock);
 				mutex_exit(&pfs_ihash_lock);
-				if (vget(vp, flags | LK_INTERLOCK))
+				if (vget(vp, flags))
 					goto loop;
 			}
 			return (vp);

Index: src/sys/miscfs/syncfs/sync_subr.c
diff -u src/sys/miscfs/syncfs/sync_subr.c:1.42 src/sys/miscfs/syncfs/sync_subr.c:1.43
--- src/sys/miscfs/syncfs/sync_subr.c:1.42	Fri Apr  2 19:25:21 2010
+++ src/sys/miscfs/syncfs/sync_subr.c	Wed Jul 21 17:52:12 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: sync_subr.c,v 1.42 2010/04/02 19:25:21 christos Exp $	*/
+/*	$NetBSD: sync_subr.c,v 1.43 2010/07/21 17:52:12 hannken Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -61,7 +61,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sync_subr.c,v 1.42 2010/04/02 19:25:21 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sync_subr.c,v 1.43 2010/07/21 17:52:12 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -248,8 +248,7 @@
 			synced = false;
 			if (mutex_tryenter(&vp->v_interlock)) {
 				mutex_exit(&syncer_data_lock);
-				if (vget(vp, LK_EXCLUSIVE | LK_NOWAIT |
-				    LK_INTERLOCK) == 0) {
+				if (vget(vp, LK_EXCLUSIVE | LK_NOWAIT) == 0) {
 					synced = true;
 					(void) VOP_FSYNC(vp, curlwp->l_cred,
 					    FSYNC_LAZY, 0, 0);

Index: src/sys/nfs/nfs_node.c
diff -u src/sys/nfs/nfs_node.c:1.112 src/sys/nfs/nfs_node.c:1.113
--- src/sys/nfs/nfs_node.c:1.112	Thu Jul  1 13:00:56 2010
+++ src/sys/nfs/nfs_node.c	Wed Jul 21 17:52:13 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: nfs_node.c,v 1.112 2010/07/01 13:00:56 hannken Exp $	*/
+/*	$NetBSD: nfs_node.c,v 1.113 2010/07/21 17:52:13 hannken Exp $	*/
 
 /*
  * Copyright (c) 1989, 1993
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nfs_node.c,v 1.112 2010/07/01 13:00:56 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nfs_node.c,v 1.113 2010/07/21 17:52:13 hannken Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_nfs.h"
@@ -178,7 +178,7 @@
 		vp = NFSTOV(np);
 		mutex_enter(&vp->v_interlock);
 		rw_exit(&nmp->nm_rbtlock);
-		error = vget(vp, LK_EXCLUSIVE | LK_INTERLOCK | lkflags);
+		error = vget(vp, LK_EXCLUSIVE | lkflags);
 		if (error == EBUSY)
 			return error;
 		if (error)

Index: src/sys/nfs/nfs_vfsops.c
diff -u src/sys/nfs/nfs_vfsops.c:1.215 src/sys/nfs/nfs_vfsops.c:1.216
--- src/sys/nfs/nfs_vfsops.c:1.215	Fri Jul  9 08:25:57 2010
+++ src/sys/nfs/nfs_vfsops.c	Wed Jul 21 17:52:13 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: nfs_vfsops.c,v 1.215 2010/07/09 08:25:57 hannken Exp $	*/
+/*	$NetBSD: nfs_vfsops.c,v 1.216 2010/07/21 17:52:13 hannken Exp $	*/
 
 /*
  * Copyright (c) 1989, 1993, 1995
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nfs_vfsops.c,v 1.215 2010/07/09 08:25:57 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nfs_vfsops.c,v 1.216 2010/07/21 17:52:13 hannken Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_nfs.h"
@@ -974,7 +974,7 @@
 			continue;
 		}
 		mutex_exit(&mntvnode_lock);
-		error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK);
+		error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT);
 		if (error != 0) {
 			if (error != ENOENT) {
 				mutex_enter(&mntvnode_lock);

Index: src/sys/rump/librump/rumpvfs/rumpfs.c
diff -u src/sys/rump/librump/rumpvfs/rumpfs.c:1.62 src/sys/rump/librump/rumpvfs/rumpfs.c:1.63
--- src/sys/rump/librump/rumpvfs/rumpfs.c:1.62	Tue Jul 13 18:08:58 2010
+++ src/sys/rump/librump/rumpvfs/rumpfs.c	Wed Jul 21 17:52:13 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumpfs.c,v 1.62 2010/07/13 18:08:58 pooka Exp $	*/
+/*	$NetBSD: rumpfs.c,v 1.63 2010/07/21 17:52:13 hannken Exp $	*/
 
 /*
  * Copyright (c) 2009  Antti Kantee.  All Rights Reserved.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rumpfs.c,v 1.62 2010/07/13 18:08:58 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rumpfs.c,v 1.63 2010/07/21 17:52:13 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/atomic.h>
@@ -686,7 +686,7 @@
 	if ((vp = rn->rn_vp)) {
 		mutex_enter(&vp->v_interlock);
 		mutex_exit(&reclock);
-		if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK)) {
+		if (vget(vp, LK_EXCLUSIVE)) {
 			vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY);
 			goto getvnode;
 		}

Index: src/sys/ufs/ext2fs/ext2fs_vfsops.c
diff -u src/sys/ufs/ext2fs/ext2fs_vfsops.c:1.157 src/sys/ufs/ext2fs/ext2fs_vfsops.c:1.158
--- src/sys/ufs/ext2fs/ext2fs_vfsops.c:1.157	Thu Jun 24 13:03:18 2010
+++ src/sys/ufs/ext2fs/ext2fs_vfsops.c	Wed Jul 21 17:52:13 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: ext2fs_vfsops.c,v 1.157 2010/06/24 13:03:18 hannken Exp $	*/
+/*	$NetBSD: ext2fs_vfsops.c,v 1.158 2010/07/21 17:52:13 hannken Exp $	*/
 
 /*
  * Copyright (c) 1989, 1991, 1993, 1994
@@ -60,7 +60,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ext2fs_vfsops.c,v 1.157 2010/06/24 13:03:18 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ext2fs_vfsops.c,v 1.158 2010/07/21 17:52:13 hannken Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -617,7 +617,7 @@
 		 */
 		mutex_enter(&vp->v_interlock);
 		mutex_exit(&mntvnode_lock);
-		if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK)) {
+		if (vget(vp, LK_EXCLUSIVE)) {
 			mutex_enter(&mntvnode_lock);
 			(void)vunmark(mvp);
 			goto loop;
@@ -943,7 +943,7 @@
 			continue;
 		}
 		mutex_exit(&mntvnode_lock);
-		error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK);
+		error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT);
 		if (error) {
 			mutex_enter(&mntvnode_lock);
 			if (error == ENOENT) {

Index: src/sys/ufs/ffs/ffs_vfsops.c
diff -u src/sys/ufs/ffs/ffs_vfsops.c:1.259 src/sys/ufs/ffs/ffs_vfsops.c:1.260
--- src/sys/ufs/ffs/ffs_vfsops.c:1.259	Thu Jun 24 13:03:19 2010
+++ src/sys/ufs/ffs/ffs_vfsops.c	Wed Jul 21 17:52:13 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: ffs_vfsops.c,v 1.259 2010/06/24 13:03:19 hannken Exp $	*/
+/*	$NetBSD: ffs_vfsops.c,v 1.260 2010/07/21 17:52:13 hannken Exp $	*/
 
 /*-
  * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
@@ -61,7 +61,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ffs_vfsops.c,v 1.259 2010/06/24 13:03:19 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ffs_vfsops.c,v 1.260 2010/07/21 17:52:13 hannken Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ffs.h"
@@ -774,7 +774,7 @@
 		 */
 		mutex_enter(&vp->v_interlock);
 		mutex_exit(&mntvnode_lock);
-		if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK)) {
+		if (vget(vp, LK_EXCLUSIVE)) {
 			(void)vunmark(mvp);
 			goto loop;
 		}
@@ -1555,9 +1555,9 @@
 	 * threads waiting on fstrans may have locked vnodes.
 	 */
 	if (is_suspending)
-		lk_flags = LK_INTERLOCK;
+		lk_flags = 0;
 	else
-		lk_flags = LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK;
+		lk_flags = LK_EXCLUSIVE | LK_NOWAIT;
 	/*
 	 * Write back each (modified) inode.
 	 */

Index: src/sys/ufs/lfs/lfs_segment.c
diff -u src/sys/ufs/lfs/lfs_segment.c:1.216 src/sys/ufs/lfs/lfs_segment.c:1.217
--- src/sys/ufs/lfs/lfs_segment.c:1.216	Thu Jun 24 13:03:19 2010
+++ src/sys/ufs/lfs/lfs_segment.c	Wed Jul 21 17:52:13 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs_segment.c,v 1.216 2010/06/24 13:03:19 hannken Exp $	*/
+/*	$NetBSD: lfs_segment.c,v 1.217 2010/07/21 17:52:13 hannken Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -60,7 +60,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lfs_segment.c,v 1.216 2010/06/24 13:03:19 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_segment.c,v 1.217 2010/07/21 17:52:13 hannken Exp $");
 
 #ifdef DEBUG
 # define vndebug(vp, str) do {						\
@@ -2737,7 +2737,7 @@
 	 * being able to flush all of the pages from this vnode, which
 	 * will cause it to panic.  So, return 0 if a flush is in progress.
 	 */
-	error = vget(vp, LK_NOWAIT | LK_INTERLOCK);
+	error = vget(vp, LK_NOWAIT);
 	if (error == EBUSY && IS_FLUSHING(VTOI(vp)->i_lfs, vp)) {
 		++fs->lfs_flushvp_fakevref;
 		return 0;

Index: src/sys/ufs/ufs/ufs_ihash.c
diff -u src/sys/ufs/ufs/ufs_ihash.c:1.29 src/sys/ufs/ufs/ufs_ihash.c:1.30
--- src/sys/ufs/ufs/ufs_ihash.c:1.29	Thu Jul  1 13:00:57 2010
+++ src/sys/ufs/ufs/ufs_ihash.c	Wed Jul 21 17:52:14 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: ufs_ihash.c,v 1.29 2010/07/01 13:00:57 hannken Exp $	*/
+/*	$NetBSD: ufs_ihash.c,v 1.30 2010/07/21 17:52:14 hannken Exp $	*/
 
 /*
  * Copyright (c) 1982, 1986, 1989, 1991, 1993
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ufs_ihash.c,v 1.29 2010/07/01 13:00:57 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ufs_ihash.c,v 1.30 2010/07/21 17:52:14 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -150,7 +150,7 @@
 			} else {
 				mutex_enter(&vp->v_interlock);
 				mutex_exit(&ufs_ihash_lock);
-				if (vget(vp, flags | LK_INTERLOCK))
+				if (vget(vp, flags))
 					goto loop;
 			}
 			return (vp);

Index: src/sys/ufs/ufs/ufs_quota.c
diff -u src/sys/ufs/ufs/ufs_quota.c:1.66 src/sys/ufs/ufs/ufs_quota.c:1.67
--- src/sys/ufs/ufs/ufs_quota.c:1.66	Thu Jun 24 13:03:20 2010
+++ src/sys/ufs/ufs/ufs_quota.c	Wed Jul 21 17:52:14 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: ufs_quota.c,v 1.66 2010/06/24 13:03:20 hannken Exp $	*/
+/*	$NetBSD: ufs_quota.c,v 1.67 2010/07/21 17:52:14 hannken Exp $	*/
 
 /*
  * Copyright (c) 1982, 1986, 1990, 1993, 1995
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ufs_quota.c,v 1.66 2010/06/24 13:03:20 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ufs_quota.c,v 1.67 2010/07/21 17:52:14 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -482,7 +482,7 @@
 			continue;
 		}
 		mutex_exit(&mntvnode_lock);
-		if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK)) {
+		if (vget(vp, LK_EXCLUSIVE)) {
 			mutex_enter(&mntvnode_lock);
 			(void)vunmark(mvp);
 			goto again;
@@ -552,7 +552,7 @@
 			continue;
 		}
 		mutex_exit(&mntvnode_lock);
-		if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK)) {
+		if (vget(vp, LK_EXCLUSIVE)) {
 			mutex_enter(&mntvnode_lock);
 			(void)vunmark(mvp);
 			goto again;
@@ -738,7 +738,7 @@
 			continue;
 		}
 		mutex_exit(&mntvnode_lock);
-		error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK);
+		error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT);
 		if (error) {
 			mutex_enter(&mntvnode_lock);
 			if (error == ENOENT) {

Reply via email to