diff options
author | kato <kato@FreeBSD.org> | 1998-02-07 08:44:31 +0000 |
---|---|---|
committer | kato <kato@FreeBSD.org> | 1998-02-07 08:44:31 +0000 |
commit | 95aa7532e228080d1107a19959d4fd04cf839a47 (patch) | |
tree | 48ebe665c9f4394058ae09e1dde9686d12fa82f6 /sys/kern | |
parent | 3a51add60db8264de8411250db837ee315e18558 (diff) | |
download | FreeBSD-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.c | 5 | ||||
-rw-r--r-- | sys/kern/vfs_subr.c | 5 |
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) { |