kernel - NFS - fix another B_CLUSTEROK / B_NEEDCOMMIT races
* nfs_flush_docommit() was not handling the case where B_NEEDCOMMIT
might get cleared by vfs_busy_pages() due to late detection of
a modified VM page.
This appears to be responsible for at least one fsx issue.
* Catch an edge case when clearing the PMAP modify bit in vfs_busy_pages().
* NFS no longer tries to cluster commit operations via the buffer cache's
cluster code. nfs_flush_docommit() will still do its own manual
clustering of commit ops. The problem with using B_CLUSTEROK is that
the cluster code will collect bufs together but vfs_busy_pages() might
have to clear B_NEEDCOMMIT when a late detection of a modified VM
pages occurs. This doesn't propagate back to the underlying bufs making
up the cluster.
This appears to be responsible for at least one fsx issue too.