cvs commit: src/sys/vm vnode_pager.c

Alan Cox alc at FreeBSD.org
Sat Oct 14 16:21:48 PDT 2006


alc         2006-10-14 23:21:48 UTC

  FreeBSD src repository

  Modified files:
    sys/vm               vnode_pager.c 
  Log:
  Long ago, revision 1.22 of vm/vm_pager.h introduced a bug.  Specifically,
  it introduced a check after the call to file system's get pages method
  that assumes that the get pages method does not change the array of pages
  that is passed to it.  In the case of vnode_pager_generic_getpages(),
  this assumption has been incorrect.  The contents of the array of pages
  may be shifted by vnode_pager_generic_getpages().  Likely, the problem
  has been hidden by vnode_pager_haspage() limiting the set of pages that
  are passed to vnode_pager_generic_getpages() such that a shift never
  occurs.
  
  The fix implemented herein is to adjust the pointer to the array of pages
  rather than shifting the pages within the array.
  
  MFC after: 3 weeks
  Fix suggested by: tegge
  
  Revision  Changes    Path
  1.232     +1 -3      src/sys/vm/vnode_pager.c


More information about the cvs-all mailing list