DragonFly kernel List (threaded) for 2008-09
DragonFly BSD
DragonFly kernel List (threaded) for 2008-09
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: hammer does cache_lock


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Sat, 20 Sep 2008 10:27:26 -0700 (PDT)

    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




[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]