:Johannes Hofmann <[email protected]> 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

Reply via email to