CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]   2017/10/10 05:59:35

Modified files:
        sys/ufs/ffs    : ffs_softdep.c 

Log message:
At reboot all vnodes are flushed, but when it sleeps, the update
process has a chance to create new dirty vnodes.  Resolving soft
dependencies adds vnodes to the dirty list.
In softdep_flushfiles() vnodes and softdeps are flushed in a loop.
But if they sleep, it is not guaranteed that all vnodes have been
flushed when the softdep worklist flush reports that nothing has
to be done.
The solution is to do a final vnode flush after the softdep worklist
has been flushed.  Then the dirty list is empty and the final check
in dounmount_leaf() does not panic with "unmount: dangling vnode".
OK mikeb@

Reply via email to