cvs commit: src/sbin/hammer Makefile buffer_alist.c cache.c hammer.c hammer.h hammer_util.h ondisk.c super_alist.c src/sbin/newfs_hammer Makefile buffer_alist.c newfs_hammer.c newfs_hammer.h ondisk.c super_alist.c src/sys/vfs/hammer hammer.h ...

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Jan 2 22:49:48 PST 2008


dillon      2008/01/02 22:48:49 PST

DragonFly src repository

  Modified files:
    sbin/hammer          Makefile buffer_alist.c hammer.c 
                         hammer_util.h ondisk.c super_alist.c 
    sbin/newfs_hammer    Makefile newfs_hammer.c newfs_hammer.h 
    sys/vfs/hammer       hammer.h hammer_alist.c hammer_alist.h 
                         hammer_btree.c hammer_cursor.c 
                         hammer_inode.c hammer_io.c 
                         hammer_object.c hammer_ondisk.c 
                         hammer_vnops.c 
  Added files:
    sbin/hammer          cache.c hammer.h 
  Removed files:
    sbin/newfs_hammer    buffer_alist.c ondisk.c super_alist.c 
  Log:
  HAMMER 15/many - user utility infrastructure, refactor alists, misc
  
  * Abstract out userland access to HAMMER's on-disk structures in
    preparation for more userland work.
  
  * Clean up compiler warnings.
  
  * Refactor the A-list recursion API.  Use another bit code (10) to indicate
    the all-allocated & initialized state, verses an all-allocated &
    uninitialized state.
  
    This allows an all-empty flag to propogate up the chain properly which
    in turn allows us to avoid flushing out dirty backing store for freed
    disk blocks and will eventually lead to freeing typed buffers back to
    the cluster's master a-list.
  
  * Fix an edge case in the B-Tree code related to running out of space
    during an insertion search.  If the insertion search ran out of space
    at a cluster boundary the spike code asserted because the parent B-Tree
    node wasn't in the same cluster as the node it thought it had to spike.
    (The root B-Tree node of a cluster cannot be spiked).
  
  * Use a second cache pointer in the in-memory structure for directory
    inodes.  The second cache will be used for inode lookups relative to
    the directory and will (eventually) greatly reduce the B-Tree search
    overhead required to stat directory elements.
  
  Revision  Changes    Path
  1.2       +7 -2      src/sbin/hammer/Makefile
  1.3       +20 -21    src/sbin/hammer/buffer_alist.c
  1.2       +20 -22    src/sbin/hammer/hammer.c
  1.4       +65 -32    src/sbin/hammer/hammer_util.h
  1.7       +321 -56   src/sbin/hammer/ondisk.c
  1.4       +20 -11    src/sbin/hammer/super_alist.c
  1.3       +8 -5      src/sbin/newfs_hammer/Makefile
  1.12      +8 -56     src/sbin/newfs_hammer/newfs_hammer.c
  1.4       +1 -104    src/sbin/newfs_hammer/newfs_hammer.h
  1.19      +8 -7      src/sys/vfs/hammer/hammer.h
  1.6       +93 -66    src/sys/vfs/hammer/hammer_alist.c
  1.3       +14 -3     src/sys/vfs/hammer/hammer_alist.h
  1.16      +39 -21    src/sys/vfs/hammer/hammer_btree.c
  1.10      +51 -41    src/sys/vfs/hammer/hammer_cursor.c
  1.17      +15 -14    src/sys/vfs/hammer/hammer_inode.c
  1.12      +41 -1     src/sys/vfs/hammer/hammer_io.c
  1.15      +6 -5      src/sys/vfs/hammer/hammer_object.c
  1.16      +116 -68   src/sys/vfs/hammer/hammer_ondisk.c
  1.16      +14 -12    src/sys/vfs/hammer/hammer_vnops.c


http://www.dragonflybsd.org/cvsweb/src/sbin/hammer/Makefile.diff?r1=1.1&r2=1.2&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/hammer/buffer_alist.c.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/hammer/hammer.c.diff?r1=1.1&r2=1.2&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/hammer/hammer_util.h.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/hammer/ondisk.c.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/hammer/super_alist.c.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/newfs_hammer/Makefile.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/newfs_hammer/newfs_hammer.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/newfs_hammer/newfs_hammer.h.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_alist.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_alist.h.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_btree.c.diff?r1=1.15&r2=1.16&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_cursor.c.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_inode.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_io.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_object.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ondisk.c.diff?r1=1.15&r2=1.16&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.15&r2=1.16&f=u





More information about the Commits mailing list