The hold_count check in vm_pageout_cluster() is susceptible to a race
with pmap_extract_and_hold() since the latter may be called without the
object lock or vnode lock held. In particular, there is a window between
the hold_count check and the later pmap_remove_write() call during which
a concurrent pmap_extract_and_hold() caller may obtain write access to
pages in the cluster. This appears to be a regression from r207410.
Attempt to handle this by atomically checking hold_count and removing
managed write mappings when adding a page to a pageout cluster. Note
that vm_object_page_collect_flush() ensures that the clustered pages
are read-only.