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]
+

Reply via email to