git: hammer2 - Cache chain->data and chain->dio until last release.

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Jun 9 21:30:53 PDT 2016


commit 6c8a59028088f4e51fd538d78e69d96be5fe8311
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu Jun 9 21:24:26 2016 -0700

    hammer2 - Cache chain->data and chain->dio until last release.
    
    * Instead of releasing the chain data and dio on unlock, leave it
      cached and intact until the last release.  This will allow an upcoming
      change to pass unlocked chain structures betweten threads to work
      efficiently.
    
    * Fix a race condition in the chain->parent linkage test that could cause
      chain->data to be cleared improperly.

Summary of changes:
 sys/vfs/hammer2/hammer2.h          |  13 +++--
 sys/vfs/hammer2/hammer2_chain.c    | 116 +++++++++++++++++++++++++++----------
 sys/vfs/hammer2/hammer2_freemap.c  |   1 +
 sys/vfs/hammer2/hammer2_io.c       |  63 ++++++++++++++++----
 sys/vfs/hammer2/hammer2_strategy.c |   2 +
 5 files changed, 147 insertions(+), 48 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6c8a59028088f4e51fd538d78e69d96be5fe8311


-- 
DragonFly BSD source repository



More information about the Commits mailing list