[issue1196] mount_null twice in a row panics

Matthew Dillon dillon at apollo.backplane.com
Sat Jan 17 14:25:44 PST 2009


:Johannes Hofmann <Johannes.Hofmann at gmx.de> added the comment:
:
:I just tried it in a vkernel and the problem occurs if the
:null-mounted directory is on HAMMER.
:In that case during the second mount_null call,
:
:VFS_ROOT(mp, &newdp) called from checkdirs() in turn called from sys_mount(=
:)=20
:tries to acquire the same lock, that was already acquired by vn_lock()
:from sys_mount() directly.
:
:Doing checkdirs() after vn_unlock(vp) makes the problem go away, but
:of course it might not be allowed to call checkdirs() without the lock
:protection.
:
: Johannes

    Hmm.  I think we can safely call checkdirs() without the lock
    protection as long as the vnode still has a ref, which it does.
    The cache entries are still locked.

    I will commit the change, we should be able to get enough testing 
    in prior to the release.

					    -Matt






More information about the Bugs mailing list