Index: sys/kern/vfs_syscalls.c =================================================================== --- sys/kern/vfs_syscalls.c +++ sys/kern/vfs_syscalls.c @@ -480,10 +480,14 @@ continue; } #endif - if (vfs_busy(mp, MBF_NOWAIT | MBF_MNTLSTLOCK)) { + vfs_ref(mp); + if (vfs_busy(mp, (flags == MNT_WAIT ? 0 : MBF_NOWAIT) | + MBF_MNTLSTLOCK)) { nmp = TAILQ_NEXT(mp, mnt_list); + vfs_rel(mp); continue; } + vfs_rel(mp); if (sfsp && count < maxcount) { sp = &mp->mnt_stat; /*