NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/19110 CVS commit: src/sys/kern



The following reply was made to PR kern/19110; it has been noted by GNATS.

From: "Juergen Hannken-Illjes" <hannken%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: PR/19110 CVS commit: src/sys/kern
Date: Sun, 2 Oct 2011 13:00:07 +0000

 Module Name:   src
 Committed By:  hannken
 Date:          Sun Oct  2 13:00:07 UTC 2011
 
 Modified Files:
        src/sys/kern: vfs_vnode.c
 
 Log Message:
 The path getnewvnode()->getcleanvnode()->vclean()->VOP_LOCK() will panic
 if the vnode we want to clean is a layered vnode and the caller already
 locked its lower vnode.
 
 Change getnewvnode() to always allocate a fresh vnode and add a helper
 thread (vdrain) to keep the number of allocated vnodes within desiredvnodes.
 
 Rename getcleanvnode() to cleanvnode() and let it take a vnode from the
 lists, clean and free it.
 
 Reviewed by: David Holland <dholland%netbsd.org@localhost>
 
 Should fix:
 PR #19110 (nullfs mounts over NFS cause lock manager problems)
 PR #34102 (ffs panic in NetBSD 3.0_STABLE)
 PR #45115 (lock error panic when build.sh*3 and daily script is running)
 PR #45355 (Reader/writer lock error:  rw_vector_enter: locking against myself)
 
 
 To generate a diff of this commit:
 cvs rdiff -u -r1.11 -r1.12 src/sys/kern/vfs_vnode.c
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 


Home | Main Index | Thread Index | Old Index