]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
In some situations, mnt_lockref could go negative due to vfs_unbusy() being
authorEdward Tomasz Napierala <trasz@FreeBSD.org>
Thu, 5 Feb 2009 08:46:18 +0000 (08:46 +0000)
committerEdward Tomasz Napierala <trasz@FreeBSD.org>
Thu, 5 Feb 2009 08:46:18 +0000 (08:46 +0000)
commit27dd8057d33d24fcfa8b3fc1a49f3ef77fe3803e
treead7dbff1afb2c539ce3ab2fe6f719b0af6bcc18a
parent2650d605346c305f37b4cbcc1d74b635b2b202c3
In some situations, mnt_lockref could go negative due to vfs_unbusy() being
called without calling vfs_busy() first.  This made umount(8) hang waiting
for mnt_lockref to become zero, which would never happen.

Reviewed by: kib
Approved by: rwatson (mentor)
Reported by: pho
Found with: stress2
Sponsored by: FreeBSD Foundation
sys/kern/vfs_syscalls.c