DragonFly commits List (threaded) for 2008-07
DragonFly BSD
DragonFly commits List (threaded) for 2008-07
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

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


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 13 Jul 2008 02:32:48 -0700 (PDT)

dillon      2008/07/13 02:32:48 PDT

DragonFly src repository

  Modified files:
    sys/vfs/hammer       hammer.h hammer_btree.c hammer_flusher.c 
                         hammer_inode.c hammer_object.c 
                         hammer_reblock.c 
  Log:
  HAMMER 61E/Many: Stabilization, Performance
  
  * PERFORMANCE: hammer_sync_inode() was generating a new transaction id
    for each inode, causing hammer_btree_do_propagation() to have to
    modify B-Tree nodes all the way to root on a per-file basis when
    syncing a rm -rf.
  
    Change the code to use the flusher's transaction id so all inodes
    bundled into the same flush group use the same transaction id.
  
  * BUG FIX:  The reblocker was able to blow out the buffer cache with
    dirty data buffers.  Even though HAMMER allows these buffers to be
    flushed to the disk at any time by the kernel, calls to bwillwrite()
    are still needed to prevent a buffer cache deadlock.
  
  Revision  Changes    Path
  1.116     +1 -1      src/sys/vfs/hammer/hammer.h
  1.71      +11 -0     src/sys/vfs/hammer/hammer_btree.c
  1.39      +3 -1      src/sys/vfs/hammer/hammer_flusher.c
  1.102     +15 -18    src/sys/vfs/hammer/hammer_inode.c
  1.89      +8 -1      src/sys/vfs/hammer/hammer_object.c
  1.31      +12 -0     src/sys/vfs/hammer/hammer_reblock.c


http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.115&r2=1.116&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_btree.c.diff?r1=1.70&r2=1.71&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_flusher.c.diff?r1=1.38&r2=1.39&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_inode.c.diff?r1=1.101&r2=1.102&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_object.c.diff?r1=1.88&r2=1.89&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_reblock.c.diff?r1=1.30&r2=1.31&f=u



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]