cvs commit: src/sys/conf files src/sys/vfs/hammer Makefile hammer.h hammer_btree.c hammer_btree.h hammer_cursor.c hammer_cursor.h hammer_inode.c hammer_ioctl.c hammer_ioctl.h hammer_mirror.c hammer_mount.h hammer_object.c hammer_prune.c ...

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Jun 25 21:08:07 PDT 2008


dillon      2008/06/25 21:06:23 PDT

DragonFly src repository

  Modified files:
    sys/conf             files 
    sys/vfs/hammer       Makefile hammer.h hammer_btree.c 
                         hammer_btree.h hammer_cursor.c 
                         hammer_cursor.h hammer_inode.c 
                         hammer_ioctl.c hammer_ioctl.h 
                         hammer_mirror.c hammer_mount.h 
                         hammer_object.c hammer_prune.c 
                         hammer_transaction.c hammer_vfsops.c 
                         hammer_vnops.c 
  Log:
  HAMMER 59A/Many: Mirroring related work (and one bug fix).
  
  * BUG FIX: Fix a bug in directory hashkey generation.  The iterator could
    sometimes conflict with a key already on-disk and interfere with a pending
    deletion.  The chance of this occuring was miniscule but not 0.  Now fixed.
  
    The fix also revamps the directory iterator code, moving it all to one
    place and removing it from two other places.
  
  * PRUNING CHANGE: The pruning code no longer shifts the create_tid and
    delete_tid of adjacent records to fill gaps.  This means that historical
    queries must either use snapshot softlinks or use a fine-grained
    transaction id greater then the most recent snapshot softlink.
  
    fine-grained historical access still works up to the first snapshot
    softlink.
  
  * Clean up the cursor code responsible for acquiring the parent node.
  
  * Add the core mirror ioctl read/write infrastructure.  This work is still
    in progress.
  
    - ioctl commands
    - pseudofs enhancements, including st_dev munging.
    - mount options
    - transaction id and object id conflictless allocation
    - initial mirror_tid recursion up the B-Tree (not finished)
    - B-Tree mirror scan optimizations to skip sub-hierarchies that do not
      need to be scanned (requires mirror_tid recursion to be 100% working).
  
  Revision  Changes    Path
  1.218     +1 -0      src/sys/conf/files
  1.12      +1 -1      src/sys/vfs/hammer/Makefile
  1.93      +11 -0     src/sys/vfs/hammer/hammer.h
  1.58      +170 -4    src/sys/vfs/hammer/hammer_btree.c
  1.24      +2 -0      src/sys/vfs/hammer/hammer_btree.h
  1.33      +9 -42     src/sys/vfs/hammer/hammer_cursor.c
  1.22      +2 -1      src/sys/vfs/hammer/hammer_cursor.h
  1.85      +1 -1      src/sys/vfs/hammer/hammer_inode.c
  1.24      +8 -0      src/sys/vfs/hammer/hammer_ioctl.c
  1.15      +9 -0      src/sys/vfs/hammer/hammer_ioctl.h
  1.2       +339 -19   src/sys/vfs/hammer/hammer_mirror.c
  1.7       +1 -0      src/sys/vfs/hammer/hammer_mount.h
  1.76      +44 -31    src/sys/vfs/hammer/hammer_object.c
  1.8       +17 -24    src/sys/vfs/hammer/hammer_prune.c
  1.22      +10 -4     src/sys/vfs/hammer/hammer_transaction.c
  1.54      +2 -2      src/sys/vfs/hammer/hammer_vfsops.c
  1.77      +6 -0      src/sys/vfs/hammer/hammer_vnops.c


http://www.dragonflybsd.org/cvsweb/src/sys/conf/files.diff?r1=1.217&r2=1.218&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/Makefile.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.92&r2=1.93&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_btree.c.diff?r1=1.57&r2=1.58&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_btree.h.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_cursor.c.diff?r1=1.32&r2=1.33&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_cursor.h.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_inode.c.diff?r1=1.84&r2=1.85&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ioctl.c.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ioctl.h.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_mirror.c.diff?r1=1.1&r2=1.2&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_mount.h.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_object.c.diff?r1=1.75&r2=1.76&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_prune.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_transaction.c.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vfsops.c.diff?r1=1.53&r2=1.54&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.76&r2=1.77&f=u





More information about the Commits mailing list