git: kernel - Fix degenerate cluster_write() cases

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Apr 30 15:49:54 PDT 2012


commit b642a6c1f5bbb295e29522d99c65038f459288ac
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Mon Apr 30 15:44:53 2012 -0700

    kernel - Fix degenerate cluster_write() cases
    
    * cluster_write() should bdwrite() as a fallback, not bawrite().
    
      Note that cluster_awrite() always bawrite()'s or equivalent.  The
      DragonFly API split the functions out, so cluster_write() can now
      almost always bdwrite() for the non-clustered case.
    
    * Solves some serious performance and real-time disk space usage issues
      when HAMMER1 was updated to use the cluster calls.  The disk space
      would be recovered by the daily cleanup but the extra writes could
      end up being quite excessive, 25:1 unnecessary writes vs necessary
      writes.
    
    Reported-by: multiple, testing by tuxillo

Summary of changes:
 sys/kern/vfs_cluster.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b642a6c1f5bbb295e29522d99c65038f459288ac


-- 
DragonFly BSD source repository





More information about the Commits mailing list