cvs commit: src/sys/vfs/hammer hammer.h hammer_disk.h hammer_inode.c hammer_object.c hammer_vnops.c

Matthew Dillon dillon at crater.dragonflybsd.org
Sat Jun 28 11:11:45 PDT 2008


dillon      2008/06/28 11:10:56 PDT

DragonFly src repository

  Modified files:
    sys/vfs/hammer       hammer.h hammer_disk.h hammer_inode.c 
                         hammer_object.c hammer_vnops.c 
  Log:
  HAMMER 59C/Many: Stabilization pass - fixes for large file issues
  
  * Rename hammer_delete_range_all() to hammer_delete_clean().  This function
    is no longer responsible for deleting data and db records when a file
    is removed.  The normal hammer_delete_range() function now does that for
    all cases.
  
  * Adjust hammer_delete_range() to not restart at offset 0 when it hits a
    deadlock or must defer the remainder of the operation to another flush
    cycle.  When removing very large files (greater then 500GB) the constant
    restarts resulted in exponential delays.
  
    Instead the function restarts near where it had left off the previous try.
  
  * Change ip->sync_trunc_off's dynamics so it can be used to cache the
    restart offset.  The truncation state can now be left intact on the
    backend and the frontend will merge new truncations into it instead
    of replacing the truncation.
  
    Add a new field, ip->save_trunc_off to handle the append overwrite
    check optimization (sync_trunc_off used to be used for that, no longer).
  
  * Fix minor bugs, and use the new bwillwrite() API.
  
  * Remove the #if 0'd out cluster_write() code entirely (it never worked
    anyway).  The new buffer cache subsystem in the kernel allows bdwrite()
    to be used with no real penalty.
  
  Revision  Changes    Path
  1.95      +2 -1      src/sys/vfs/hammer/hammer.h
  1.43      +3 -3      src/sys/vfs/hammer/hammer_disk.h
  1.87      +48 -27    src/sys/vfs/hammer/hammer_inode.c
  1.78      +53 -44    src/sys/vfs/hammer/hammer_object.c
  1.78      +3 -28     src/sys/vfs/hammer/hammer_vnops.c


http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.94&r2=1.95&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_disk.h.diff?r1=1.42&r2=1.43&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_inode.c.diff?r1=1.86&r2=1.87&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_object.c.diff?r1=1.77&r2=1.78&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.77&r2=1.78&f=u





More information about the Commits mailing list