kernel - Fix deadlock in vm_page_repurpose()
commita6225b5b1ff1b3fe60b0e7ef98bc040a111d265f
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 28 Nov 2016 18:41:53 +0000 (28 10:41 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 28 Nov 2016 18:41:53 +0000 (28 10:41 -0800)
treee25a0a8bd904575df6493261445a39760e1f3c4c
parent93d7266760cd54ddd6c33317d44791ba6f7c9930
kernel - Fix deadlock in vm_page_repurpose()

* vm_page_repurpose() was hard+soft busying the underlying VM page,
  which can deadlock against putpages or other I/O.

* Only hard-busy the page, then add an SBUSY test to the failure case
  (we don't want to repurpose a page undergoing I/O after all!).
sys/vm/vm_page.c