cvs commit: src/sys/vm vm_page.c

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Mon, 5 Nov 2007 10:25:13 +0000 (UTC)
kib         2007-11-05 10:25:13 UTC

  FreeBSD src repository

  Modified files:
    sys/vm               vm_page.c 
  Log:
  The intent of the freeing the (zeroed) page in vm_page_cache() for
  default object rather than cache it was to have
  vm_pager_has_page(object, pindex, ...) == FALSE to imply that there is
  no cached page in object at pindex. This allows to avoid explicit
  checks for cached pages in vm_object_backing_scan().
  
  For now, we need the same bandaid for the swap object, otherwise both
  the vm_page_lookup() and the pager can report that there is no page at
  offset, while page is stored in the cache. Also, this fixes another
  instance of the KASSERT("object type is incompatible") failure in the
  vm_page_cache_transfer().
  
  Reported and tested by: Peter Holm
  Reviewed by:    alc
  MFC after:      3 days
  
  Revision  Changes    Path
  1.359     +5 -2      src/sys/vm/vm_page.c
Received on Mon Nov 05 2007 - 10:25:13 UTC