Index: sys/vm/vm_object.c =================================================================== --- sys/vm/vm_object.c (revisione 238183) +++ sys/vm/vm_object.c (copia locale) @@ -1378,6 +1378,9 @@ retry: * and new_object's locks are released and reacquired. */ swap_pager_copy(orig_object, new_object, offidxstart, 0); + KASSERT(new_object->type == OBJT_SWAP, + ("new_object %p did not change type to OBJT_SWAP", + __func__)); /* * Transfer any cached pages from orig_object to new_object. Index: sys/vm/vm_page.c =================================================================== --- sys/vm/vm_page.c (revisione 238183) +++ sys/vm/vm_page.c (copia locale) @@ -1277,6 +1277,9 @@ vm_page_cache_transfer(vm_object_t orig_object, vm KASSERT(new_object->cache == NULL, ("vm_page_cache_transfer: object %p has cached pages", new_object)); + KASSERT(new_object->type == OBJT_SWAP, +("vm_page_cache_transfer: object %p's type is incompatible with cached pages", + new_object)); mtx_lock(&vm_page_queue_free_mtx); if ((m = orig_object->cache) != NULL) { /* @@ -1317,10 +1320,6 @@ vm_page_cache_transfer(vm_object_t orig_object, vm m_next->left = m; new_object->cache = m_next; } - KASSERT(new_object->cache == NULL || - new_object->type == OBJT_SWAP, - ("vm_page_cache_transfer: object %p's type is incompatible" - " with cached pages", new_object)); } mtx_unlock(&vm_page_queue_free_mtx); }