kernel - fix bug when issuing synchronous pageouts via contigmalloc.
commit859bb7a8f6449d7d56cf16f96ce97e8e5f283a4e
authorMatthew Dillon <dillon@apollo.backplane.com>
Tue, 15 Sep 2009 19:16:00 +0000 (15 12:16 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 15 Sep 2009 19:20:08 +0000 (15 12:20 -0700)
treeeb0b8dfad15f586752063e89c59e82c9b65a0453
parent8378903f17ca598a6571279ffbc025c0c754d540
kernel - fix bug when issuing synchronous pageouts via contigmalloc.

* There are multiple mis-checks in this code but the only path that
  causes the bug is if contigmalloc is forced to page data out, and
  that generally only occurs due to the USB subsystem.

* The bug causes relpbuf() to be called with the wrong argument,
  ultimately causing the swap pbuf availability counter to hit 0 and
  stay there.

* Fixes a umass insertion failure (the usb thread was locking up).
sys/vm/swap_pager.c