diff options
Diffstat (limited to 'sys/kern/vfs_mount.c')
-rw-r--r-- | sys/kern/vfs_mount.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index 4971a25..cc8321a 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -816,7 +816,7 @@ vfs_domount_first( * XXX The final recipients of VFS_MOUNT just overwrite the ndp they * get. No freeing of cn_pnbuf. */ - error = VFS_MOUNT(mp); + error = VFS_MOUNT(mp); if (error != 0) { vfs_unbusy(mp); vfs_mount_destroy(mp); @@ -940,7 +940,7 @@ vfs_domount_update( * XXX The final recipients of VFS_MOUNT just overwrite the ndp they * get. No freeing of cn_pnbuf. */ - error = VFS_MOUNT(mp); + error = VFS_MOUNT(mp); if (error == 0) { /* Process the export option. */ @@ -1659,10 +1659,9 @@ __mnt_vnode_next(struct vnode **mvp, struct mount *mp) mtx_assert(MNT_MTX(mp), MA_OWNED); KASSERT((*mvp)->v_mount == mp, ("marker vnode mount list mismatch")); - if ((*mvp)->v_yield++ == 500) { + if (should_yield()) { MNT_IUNLOCK(mp); - (*mvp)->v_yield = 0; - uio_yield(); + kern_yield(-1); MNT_ILOCK(mp); } vp = TAILQ_NEXT(*mvp, v_nmntvnodes); |