OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_72-27-g60e8dcb

Gerrit Code Review gerrit@openafs.org
Wed, 17 Feb 2010 09:33:48 -0800 (PST)


The following commit has been merged in the master branch:
commit 60e8dcb4e66c6edc90a0448221b7d1818bd5cafb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 4 16:47:19 2010 -0600

    DAFS: Maintain viced volume group hierarchy cache
    
    When salvaging a volume (with DAFS or not), it is required to read the
    volume headers of all volumes on the partition, so we know what volumes
    are in the same volume group as the salvaged volume. Currently with
    DAFS, this requirement can make demand-salvages very slow, since each
    demand-salvage must read each volume header on the partition.
    
    So, instead of having each demand-salvage read the volume headers
    itself, have a demand-salvage request the required volume group
    hierarchy information from the fileserver. The fileserver will scan the
    partition's volume headers, and will keep the hierarchy cached in
    memory. Any modifications to this hierarchy from volume
    creation/deletion will update this volume group cache (VGC) via FSSYNC
    commands.
    
    This results in a dramatic salvaging speedup when many demand-salvages
    are requested, and eliminates the cases where DAFS salvaging can be
    significantly slower than non-DAFS salvaging.
    
    FIXES 124488
    
    Change-Id: Ie9ae655593ad8a90ca6ad8f63e6b6e799f283988
    Reviewed-on: http://gerrit.openafs.org/880
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

 doc/arch/fssync.txt           |   55 ++
 src/tviced/Makefile.in        |    8 +-
 src/vol/fssync-client.c       |  147 +++++
 src/vol/fssync-debug.c        |  271 +++++++++-
 src/vol/fssync-server.c       |  166 ++++++-
 src/vol/fssync.h              |   40 ++-
 src/vol/partition.c           |   52 ++
 src/vol/partition.h           |    9 +
 src/vol/salvsync.h            |    2 +-
 src/vol/vg_cache.c            | 1192 +++++++++++++++++++++++++++++++++++++++++
 src/vol/vg_cache.h            |   40 ++
 src/vol/vg_cache_impl.h       |   39 ++
 src/vol/vg_cache_impl_types.h |  119 ++++
 src/vol/vg_cache_types.h      |   29 +
 src/vol/vg_scan.c             |  675 +++++++++++++++++++++++
 src/vol/vol-salvage.c         |  167 ++++++-
 src/vol/voldefs.h             |    3 +
 src/vol/vutil.c               |  121 ++++-
 18 files changed, 3093 insertions(+), 42 deletions(-)

-- 
OpenAFS Master Repository