cvs commit: src/sys/vfs/hammer hammer.h hammer_btree.c hammer_flusher.c hammer_freemap.c hammer_inode.c hammer_object.c hammer_reblock.c hammer_undo.c hammer_vfsops.c hammer_vnops.c

Matthew Dillon dillon at crater.dragonflybsd.org
Sat May 3 13:24:37 PDT 2008


dillon      2008/05/03 13:21:20 PDT

DragonFly src repository

  Modified files:
    sys/vfs/hammer       hammer.h hammer_btree.c hammer_flusher.c 
                         hammer_freemap.c hammer_inode.c 
                         hammer_object.c hammer_reblock.c 
                         hammer_undo.c hammer_vfsops.c 
                         hammer_vnops.c 
  Log:
  HAMMER 40F/Many: Inode/link-count sequencer cleanup pass, UNDO cache.
  
  * Implement an UNDO cache.  If we have already laid down an UNDO in the
    current flush cycle we do not have to lay down another one for the same
    address.  This greatly reduces the number of UNDOs we generate during
    a flush.
  
  * Properly get the vnode in order to be able to issue vfsync()'s from the
    backend.  We may also have to acquire the vnode when doing an unload
    check for a file deletion.
  
  * Properly generate UNDO records for the volume header.  During crash recovery
    we have to UNDO the volume header along with any partially written
    meta-data, because the volume header refers to the meta-data.
  
  * Add another record type, GENERAL, representing inode or softlink records.
  
  * Move the setting of HAMMER_INODE_WRITE_ALT to the backend, allowing
    the kernel to flush buffers up to the point where the backend syncs
    the inode.
  
  Revision  Changes    Path
  1.59      +36 -5     src/sys/vfs/hammer/hammer.h
  1.41      +4 -6      src/sys/vfs/hammer/hammer_btree.c
  1.11      +37 -21    src/sys/vfs/hammer/hammer_flusher.c
  1.9       +5 -6      src/sys/vfs/hammer/hammer_freemap.c
  1.49      +86 -50    src/sys/vfs/hammer/hammer_inode.c
  1.53      +7 -1      src/sys/vfs/hammer/hammer_object.c
  1.10      +2 -3      src/sys/vfs/hammer/hammer_reblock.c
  1.10      +79 -0     src/sys/vfs/hammer/hammer_undo.c
  1.32      +7 -2      src/sys/vfs/hammer/hammer_vfsops.c
  1.46      +9 -7      src/sys/vfs/hammer/hammer_vnops.c


http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.58&r2=1.59&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_btree.c.diff?r1=1.40&r2=1.41&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_flusher.c.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_freemap.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_inode.c.diff?r1=1.48&r2=1.49&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_object.c.diff?r1=1.52&r2=1.53&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_reblock.c.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_undo.c.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vfsops.c.diff?r1=1.31&r2=1.32&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.45&r2=1.46&f=u





More information about the Commits mailing list