summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authorkato <kato@FreeBSD.org>1998-02-07 08:44:31 +0000
committerkato <kato@FreeBSD.org>1998-02-07 08:44:31 +0000
commit95aa7532e228080d1107a19959d4fd04cf839a47 (patch)
tree48ebe665c9f4394058ae09e1dde9686d12fa82f6 /sys/kern
parent3a51add60db8264de8411250db837ee315e18558 (diff)
downloadFreeBSD-src-95aa7532e228080d1107a19959d4fd04cf839a47.zip
FreeBSD-src-95aa7532e228080d1107a19959d4fd04cf839a47.tar.gz
When the vp is lcoked, vget() calls vfs_object_create() with
waslocked = TRUE. This change may fix lockmgr panic in umapfs/nullfs. PR: 5634 Reviewed by: "John S. Dyson" <toor@dyson.iquest.net> Suggested by: Bruce Evans <bde@zeta.org.au>
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/vfs_export.c5
-rw-r--r--sys/kern/vfs_subr.c5
2 files changed, 6 insertions, 4 deletions
diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c
index 478a5c6..376b833 100644
--- a/sys/kern/vfs_export.c
+++ b/sys/kern/vfs_export.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)vfs_subr.c 8.31 (Berkeley) 5/26/95
- * $Id: vfs_subr.c,v 1.129 1998/02/05 03:32:11 dyson Exp $
+ * $Id: vfs_subr.c,v 1.130 1998/02/06 12:13:31 eivind Exp $
*/
/*
@@ -919,7 +919,8 @@ vget(vp, flags, p)
(vp->v_type == VREG) &&
((vp->v_object == NULL) ||
(vp->v_object->flags & OBJ_DEAD))) {
- vfs_object_create(vp, curproc, curproc->p_ucred, 0);
+ vfs_object_create(vp, curproc, curproc->p_ucred,
+ VOP_ISLOCKED(vp));
simple_lock(&vp->v_interlock);
}
if (flags & LK_TYPE_MASK) {
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 478a5c6..376b833 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)vfs_subr.c 8.31 (Berkeley) 5/26/95
- * $Id: vfs_subr.c,v 1.129 1998/02/05 03:32:11 dyson Exp $
+ * $Id: vfs_subr.c,v 1.130 1998/02/06 12:13:31 eivind Exp $
*/
/*
@@ -919,7 +919,8 @@ vget(vp, flags, p)
(vp->v_type == VREG) &&
((vp->v_object == NULL) ||
(vp->v_object->flags & OBJ_DEAD))) {
- vfs_object_create(vp, curproc, curproc->p_ucred, 0);
+ vfs_object_create(vp, curproc, curproc->p_ucred,
+ VOP_ISLOCKED(vp));
simple_lock(&vp->v_interlock);
}
if (flags & LK_TYPE_MASK) {
OpenPOWER on IntegriCloud