Module Name: src
Committed By: christos
Date: Mon Sep 23 19:44:21 UTC 2013
Modified Files:
src/external/cddl/osnet/sys/sys: vnode.h
Log Message:
Hack: Instead of dying in vrele with a kernel assertion, detect that the
usecount of the vnode is 0 and treat it as a noop. This is wrong, buf it
get us through the VN_RELE() after the close in vdev_file.c
To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/external/cddl/osnet/sys/sys/vnode.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/cddl/osnet/sys/sys/vnode.h
diff -u src/external/cddl/osnet/sys/sys/vnode.h:1.9 src/external/cddl/osnet/sys/sys/vnode.h:1.10
--- src/external/cddl/osnet/sys/sys/vnode.h:1.9 Sun Jun 12 00:43:11 2011
+++ src/external/cddl/osnet/sys/sys/vnode.h Mon Sep 23 15:44:21 2013
@@ -1,5 +1,5 @@
-/* $NetBSD: vnode.h,v 1.9 2011/06/12 04:43:11 mrg Exp $ */
+/* $NetBSD: vnode.h,v 1.10 2013/09/23 19:44:21 christos Exp $ */
/*
* CDDL HEADER START
@@ -294,7 +294,12 @@ int vn_is_readonly(vnode_t *);
#define vn_renamepath(tdvp, svp, tnm, lentnm) do { } while (0)
#define VN_HOLD(v) vref(v)
-#define VN_RELE(v) vrele(v)
+#define VN_RELE(v) do { \
+ if ((v)->v_usecount == 0) \
+ printf("%s, %d: %p unused\n", __FILE__, __LINE__, v); \
+ else \
+ vrele(v); \
+ } while (/*CONSTCOND*/0)
#define VN_URELE(v) vput(v)
#define VN_SET_VFS_TYPE_DEV(vp, vfs, type, flag) (0)