FreeBSD Bugzilla – Attachment 6764 Details for
Bug 15117
vclean calls vrele leading to deadlock (if usecount > 0)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 637 bytes, created by
assar
on 1999-11-27 14:20:00 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
assar
Created:
1999-11-27 14:20:00 UTC
Size:
637 bytes
patch
obsolete
>--- vfs_subr.c.orig Sat Nov 27 14:54:10 1999 >+++ vfs_subr.c Sat Nov 27 15:11:47 1999 >@@ -1693,8 +1693,23 @@ > if (VOP_RECLAIM(vp, p)) > panic("vclean: cannot reclaim"); > >- if (active) >- vrele(vp); >+ if (active) { >+ /* >+ * Inline copy of vrele() since VOP_INACTIVE >+ * has already been called. >+ */ >+ simple_lock(&vp->v_interlock); >+ if (--vp->v_usecount <= 0) { >+#ifdef DIAGNOSTIC >+ if (vp->v_usecount < 0 || vp->v_writecount != 0) { >+ vprint("vclean: bad ref count", vp); >+ panic("vclean: ref cnt"); >+ } >+#endif >+ vfree(vp); >+ } >+ simple_unlock(&vp->v_interlock); >+ } > > cache_purge(vp); > if (vp->v_vnlock) {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 15117
: 6764