git: DragonFly_RELEASE_5_0 hammer2 - Fix indefinite dirty chains due to rename

Matthew Dillon dillon at
Sat Dec 2 11:09:28 PST 2017

commit b479b18f8d1d047fbe99e46084e9aeff702c62f2
Author: Matthew Dillon <dillon at>
Date:   Sat Dec 2 11:06:30 2017 -0800

    hammer2 - Fix indefinite dirty chains due to rename
    * Do not call cache_setunresolved() on tnch before calling
      cache_rename().  Doing so prevents cache_rename() from properly
      setting VREF_FINALIZE on the vnode.  Since the deleted inode is
      no longer in the chain hierarchy the related chains can remain
      dirty indefinitely (until the vnode is reused or the filesystem
      is unmounted).
    * This fixes inmem dirty chain accounting and 'chnmem' stalls.

Summary of changes:
 sys/vfs/hammer2/hammer2_vnops.c | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

DragonFly BSD source repository

More information about the Commits mailing list