Index: sys/kern/vfs_subr.c =================================================================== --- sys/kern/vfs_subr.c +++ sys/kern/vfs_subr.c @@ -4340,19 +4340,19 @@ { struct vnode *vp, *mvp; struct vm_object *obj; + struct thread *td; CTR2(KTR_VFS, "%s: mp %p", __func__, mp); if ((mp->mnt_kern_flag & MNTK_NOMSYNC) != 0) return; + td = curthread; MNT_VNODE_FOREACH_ACTIVE(vp, mp, mvp) { obj = vp->v_object; if (obj != NULL && vm_object_mightbedirty(obj) && (flags == MNT_WAIT || VOP_ISLOCKED(vp) == 0)) { - if (!vget(vp, - LK_EXCLUSIVE | LK_RETRY | LK_INTERLOCK, - curthread)) { + if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td) == 0) { if (vp->v_vflag & VV_NOSYNC) { /* unlinked */ vput(vp); continue;