Module Name: src Committed By: riastradh Date: Fri May 26 14:40:09 UTC 2017
Modified Files: src/sys/kern: vfs_vnode.c Log Message: Check VOP_INACTIVE contract with a judicious assert. To generate a diff of this commit: cvs rdiff -u -r1.90 -r1.91 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.
Modified files: Index: src/sys/kern/vfs_vnode.c diff -u src/sys/kern/vfs_vnode.c:1.90 src/sys/kern/vfs_vnode.c:1.91 --- src/sys/kern/vfs_vnode.c:1.90 Fri May 26 14:39:20 2017 +++ src/sys/kern/vfs_vnode.c Fri May 26 14:40:09 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: vfs_vnode.c,v 1.90 2017/05/26 14:39:20 riastradh Exp $ */ +/* $NetBSD: vfs_vnode.c,v 1.91 2017/05/26 14:40:09 riastradh Exp $ */ /*- * Copyright (c) 1997-2011 The NetBSD Foundation, Inc. @@ -156,7 +156,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: vfs_vnode.c,v 1.90 2017/05/26 14:39:20 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vfs_vnode.c,v 1.91 2017/05/26 14:40:09 riastradh Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -1575,6 +1575,8 @@ vcache_reclaim(vnode_t *vp) * would no longer function. */ VOP_INACTIVE(vp, &recycle); + KASSERT((vp->v_vflag & VV_LOCKSWORK) == 0 || + VOP_ISLOCKED(vp) == LK_EXCLUSIVE); if (VOP_RECLAIM(vp)) { vnpanic(vp, "%s: cannot reclaim", __func__); }