cvs commit: src/sys/conf files src/sys/vfs/hammer Makefile hammer.h hammer_blockmap.c hammer_btree.c hammer_disk.h hammer_ioctl.c hammer_ioctl.h hammer_object.c hammer_ondisk.c hammer_reblock.c hammer_recover.c hammer_undo.c hammer_vfsops.c ...

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Mar 17 22:20:42 PDT 2008


dillon      2008/03/17 22:19:16 PDT

DragonFly src repository

  Modified files:
    sys/conf             files 
    sys/vfs/hammer       Makefile hammer.h hammer_blockmap.c 
                         hammer_btree.c hammer_disk.h 
                         hammer_ioctl.c hammer_ioctl.h 
                         hammer_object.c hammer_ondisk.c 
                         hammer_recover.c hammer_vfsops.c 
                         hammer_vnops.c 
  Added files:
    sys/vfs/hammer       hammer_reblock.c hammer_undo.c 
  Log:
  HAMMER 32/many: Record holes, initial undo API, initial reblocking code
  
  * Add code to record recent 'holes' created by the blockmap allocator
    due to the requirement that data blocks not cross a 16K hammer buffer
    boundary, in order to try to fill in the gaps with smaller chunks of data
    when possible.
  
    Currently a hole is not added for blockmap frees.  It is questionable
    whether it is a good idea to do it for frees or not, because it can
    interfere with the reblock code's attempt to completely free a big block.
  
  * Add a reblocking ioctl which scans the B-Tree and reblocks leaf nodes,
    records, and data in partially empty big blocks to try to free up
    the entire big block.  Incomplete (needs to reblock internal B-Tree nodes
    and doesn't yet, needs a low-free-space mode which focuses on freeing
    a single large block).
  
  * Add the API infrastructure required to implement the undo records,
    and implement the initial undo code (sans ordering requirements for
    writes).  Incomplete.
  
  Revision  Changes    Path
  1.209     +2 -0      src/sys/conf/files
  1.9       +2 -1      src/sys/vfs/hammer/Makefile
  1.40      +63 -4     src/sys/vfs/hammer/hammer.h
  1.6       +191 -12   src/sys/vfs/hammer/hammer_blockmap.c
  1.32      +19 -16    src/sys/vfs/hammer/hammer_btree.c
  1.26      +38 -12    src/sys/vfs/hammer/hammer_disk.h
  1.5       +6 -2      src/sys/vfs/hammer/hammer_ioctl.c
  1.4       +25 -0     src/sys/vfs/hammer/hammer_ioctl.h
  1.35      +2 -2      src/sys/vfs/hammer/hammer_object.c
  1.33      +37 -328   src/sys/vfs/hammer/hammer_ondisk.c
  1.9       +1 -1      src/sys/vfs/hammer/hammer_recover.c
  1.22      +6 -0      src/sys/vfs/hammer/hammer_vfsops.c
  1.35      +2 -2      src/sys/vfs/hammer/hammer_vnops.c


http://www.dragonflybsd.org/cvsweb/src/sys/conf/files.diff?r1=1.208&r2=1.209&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/Makefile.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.39&r2=1.40&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_blockmap.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_btree.c.diff?r1=1.31&r2=1.32&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_disk.h.diff?r1=1.25&r2=1.26&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ioctl.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ioctl.h.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_object.c.diff?r1=1.34&r2=1.35&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ondisk.c.diff?r1=1.32&r2=1.33&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_recover.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vfsops.c.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.34&r2=1.35&f=u





More information about the Commits mailing list