Author: kib
Date: Sun May 5 06:32:13 2013
New Revision: 250263
URL: http://svnweb.freebsd.org/changeset/base/250263
Log:
MFC r250028:
Assert that the object type for the vnode' non-NULL v_object, passed
to vnode_pager_setsize(), is either OBJT_VNODE, or, if vnode was
already reclaimed, OBJT_DEAD.
More, if the object is terminated, do not perform the resizing operation.
Modified:
stable/9/sys/vm/vnode_pager.c
Directory Properties:
stable/9/sys/ (props changed)
Modified: stable/9/sys/vm/vnode_pager.c
==============================================================================
--- stable/9/sys/vm/vnode_pager.c Sun May 5 06:25:28 2013
(r250262)
+++ stable/9/sys/vm/vnode_pager.c Sun May 5 06:32:13 2013
(r250263)
@@ -380,6 +380,12 @@ vnode_pager_setsize(vp, nsize)
return;
/* ASSERT_VOP_ELOCKED(vp, "vnode_pager_setsize and not locked vnode"); */
VM_OBJECT_LOCK(object);
+ if (object->type == OBJT_DEAD) {
+ VM_OBJECT_UNLOCK(object);
+ return;
+ }
+ KASSERT(object->type == OBJT_VNODE,
+ ("not vnode-backed object %p", object));
if (nsize == object->un_pager.vnp.vnp_size) {
/*
* Hasn't changed size
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "[email protected]"