git: hammer2 - Fix indefinite dirty chains due to rename

Matthew Dillon dillon at
Sat Dec 2 11:08:41 PST 2017

commit 067efb55146d56d97da6855b780b70c60cd22687
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