Module Name: src
Committed By: sborrill
Date: Sat Nov 28 19:00:03 UTC 2009
Modified Files:
src/doc [netbsd-5]: CHANGES-5.1
Log Message:
Ticket 1171
To generate a diff of this commit:
cvs rdiff -u -r1.1.2.147 -r1.1.2.148 src/doc/CHANGES-5.1
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/doc/CHANGES-5.1
diff -u src/doc/CHANGES-5.1:1.1.2.147 src/doc/CHANGES-5.1:1.1.2.148
--- src/doc/CHANGES-5.1:1.1.2.147 Sat Nov 28 16:04:18 2009
+++ src/doc/CHANGES-5.1 Sat Nov 28 19:00:03 2009
@@ -1,4 +1,4 @@
-# $NetBSD: CHANGES-5.1,v 1.1.2.147 2009/11/28 16:04:18 bouyer Exp $
+# $NetBSD: CHANGES-5.1,v 1.1.2.148 2009/11/28 19:00:03 sborrill Exp $
A complete list of changes from the NetBSD 5.0 release to the NetBSD 5.1
release:
@@ -14972,3 +14972,17 @@
don't use pathname directly as msgq()'s first argument of format string.
[tnozaki, ticket #1159]
+sys/kern/vfs_subr.c 1.392
+
+ Previous caused a deadlock with layered FS: the vrele thread can
+ sleep on the vnode lock, while vget is sleeping on the
+ VI_INACTNOW flag (or the vget caller is looping on vget returning
+ failure because of the VI_INACTNOW flag). With layered FSes,
+ the upper and lower vnodes share the same lock, so the vget()
+ caller above can be already holding the vnode lock.
+ Fix by dropping VI_INACTNOW before sleeping on the vnode lock in
+ vrelel(), and check the ref count again once we have the lock.
+ If the vnode has more than one reference, don't VOP_INACTIVE it.
+ Fix PR kern/42318 and PR kern/42377
+ [bouyer, ticket #1171]
+