hammer does cache_lock

Matthew Dillon dillon at apollo.backplane.com
Sat Sep 20 10:34:59 PDT 2008


    Damian, thanks for making the effort to create that kernel core!
    After examining it I found an issue with fsync().  Please try this
    kernel patch and tell me if it solves the problem.

	fetch http://apollo.backplane.com/DFlyMisc/hammer05.patch

    fsync() was holding onto the vnode lock while waiting for the sync to
    complete.  The vnode being fsynced can be held up indefinitely due to
    dependancies on other vnodes (e.g. directory-entry vs underlying file),
    and holding onto the lock resulted in a deadlock with the directory
    vnode.

    The patch mainly fixes this patricular deadlock by unlocking the vnode
    while waiting for the inode to complete its sync.

    It is quite possible that there are additional issues.  I would like
    you to apply the patch, recompile your kernel & reboot, and tell me
    if any further problems occur.  If they do, we'll do another round
    of kernel cores.

						-Matt






More information about the Kernel mailing list