cvs commit: src/sys/vfs/hammer hammer.h hammer_btree.c hammer_cursor.c hammer_inode.c hammer_io.c hammer_object.c hammer_ondisk.c hammer_recover.c hammer_spike.c hammer_transaction.c hammer_vnops.c

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Jan 9 23:41:36 PST 2008


dillon      2008/01/09 23:41:03 PST

DragonFly src repository

  Modified files:
    sys/vfs/hammer       hammer.h hammer_btree.c hammer_cursor.c 
                         hammer_inode.c hammer_io.c 
                         hammer_object.c hammer_ondisk.c 
                         hammer_recover.c hammer_spike.c 
                         hammer_transaction.c hammer_vnops.c 
  Log:
  HAMMER 17/many: Refactor IO backend, clean up buffer cache deadlocks.
  
  Rewrite HAMMER's IO backend, sans locking which will occur in another patch.
  The new backend is far less confusing though I wouldn't exactly call it
  simple.
  
  The new backend keeps track of dependancies with a structure->structure
  dependancy list, plus implements the special case of opening and closing
  a cluster header.  Buffers are synchronized first, then cluster headers,
  then volume headers.  The new backend also removes a number of potential
  deadlocks.
  
  Revision  Changes    Path
  1.22      +20 -83    src/sys/vfs/hammer/hammer.h
  1.17      +0 -22     src/sys/vfs/hammer/hammer_btree.c
  1.11      +1 -4      src/sys/vfs/hammer/hammer_cursor.c
  1.18      +0 -3      src/sys/vfs/hammer/hammer_inode.c
  1.14      +335 -335  src/sys/vfs/hammer/hammer_io.c
  1.18      +0 -8      src/sys/vfs/hammer/hammer_object.c
  1.18      +174 -285  src/sys/vfs/hammer/hammer_ondisk.c
  1.2       +0 -4      src/sys/vfs/hammer/hammer_recover.c
  1.5       +0 -2      src/sys/vfs/hammer/hammer_spike.c
  1.7       +0 -2      src/sys/vfs/hammer/hammer_transaction.c
  1.17      +4 -3      src/sys/vfs/hammer/hammer_vnops.c


http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_btree.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_cursor.c.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_inode.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_io.c.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_object.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ondisk.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_recover.c.diff?r1=1.1&r2=1.2&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_spike.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_transaction.c.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.16&r2=1.17&f=u





More information about the Commits mailing list