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) {