OpenAFS Master Repository branch, master, updated. ef7e0d64e7c29675405299f36ee3b7343b31cb35

Gerrit Code Review
Wed, 29 Jul 2009 20:55:43 -0700 (PDT)

The following commit has been merged in the master branch:
commit ef7e0d64e7c29675405299f36ee3b7343b31cb35
Author: Andrew Deason <>
Date:   Mon Jul 20 12:31:44 2009 -0500

    Add additional vlprocs safety checks
    This adds additional safety checks to the vlserver's implementation of
    the VL_CreateEntry, VL_ReplaceEntry, and VL_UpdateEntry RPCs. Now in all
    three of these, any new volume ID that would be added to the VLDB or
    that would be newly referenced in a VLDB entry is checked against
    duplication in other entries. Additionally, any new volume names added
    to the VLDB (either by creation, or modifying an existing volume) are
    checked against duplication. This should make it impossible for clients
    to make a volume ID or volume name correspond to multiple volume groups
    (either conceptually or literally in the vldb).
    This also alters the vlserver's implementation of the VL_GetNewVolumeId
    RPC such that the vlserver increments maxvolid until the range of volume
    IDs [*newvolumeid, *newvolumeid+bumpcount) is unused. 'vos' is modified
    to only allocate one new volume id at a time, so we don't skip over
    potentially-usable vol ids.
    Tested-by: Derrick Brashear <>
    Reviewed-by: Derrick Brashear <>

 src/vlserver/vlprocs.c           |   74 ++++++++++++++++++++++++++++++++----
 src/vlserver/vlserver_internal.h |    4 ++
 src/vlserver/vlutils.c           |   77 ++++++++++++++++++++++++++++++++++++++
 src/volser/vsprocs.c             |   43 +++++++++------------
 4 files changed, 166 insertions(+), 32 deletions(-)

OpenAFS Master Repository