CVSROOT:        /cvs
Module name:    src
Changes by:     o...@cvs.openbsd.org    2009/04/05 12:11:03

Modified files:
        sys/uvm        : uvm_vnode.c 

Log message:
In the unlikely even that we do the final unref on a uvm_vnode object
while there's io pending (async io makes that possible, but not often
hit), then we'll be waiting for the pgo_releasepg hook to free the
object when all of our pages disappear.

However, uvn_releasepg, while it does everything else that unreferencing
the object would do, it neglects to do the final vrele() on the vnode.
So in this rare situation we'd end up with the vnode waiting around
until it was forcibly recycled. Fix this by adding in the missing vrele().

ok thib@

Reply via email to