K 10 svn:author V 7 delphij K 8 svn:date V 27 2014-03-19T19:32:53.298557Z K 7 svn:log V 850 Make it possible to call VOP_PUTPAGES with shared vnode lock instead of insisting an exclusive lock. When VFS_LOCK_DEBUG is enabled and when the underlying file system is capable of MNT_SHARED_WRITES, a failed assertion may lead to a panic because when calling fsync(2), a.k.a. sys_fsync() over a vnode with mmap'ed page, it will grab a shared lock when underlying file system is capable, then call vm_object_page_clean that eventually proceeded to vnode_pager_putpages() that tries to do VOP_PUTPAGES, where VOP_PUTPAGES_APV generated from the declaration asserts the vnode is always exclusively locked by caller. This is a direct commit to stable/9 because a majority portion of the original changeset 257899 (kib), which main goal was an optimization, was omitted. We saw the panic independently in a FreeNAS bug ticket (#4578). END