OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_0-36-gfd6add0

Gerrit Code Review gerrit@openafs.org
Mon, 2 Nov 2020 12:00:25 -0500


The following commit has been merged in the master branch:
commit fd6add0aca03a5a17f7109c785b6027a76f13cdf
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 12 15:06:09 2018 -0600

    vlserver: Return VL_DBBAD on unhash failure
    
    If we try to delete a vlentry, and the vlentry cannot be found on one
    of its hash chains, we cannot unhash the vlentry properly and the
    operation fails with VL_NOENT. This results in the following error
    messages to the user:
    
            $ vos delentry 123456
            Could not delete entry for volume 123456
            You must specify a RW volume name or ID (the entire VLDB entry will be deleted)
            VLDB: no such entry
            Deleted 0 VLDB entries
    
    This is confusing, because VL_NOENT can also occur if the user
    specifies a volume that does actually not exist. This situation is
    indicative of database corruption, usually because of a ubik
    transaction that was only half-applied, or because of other ubik bugs
    in the past.
    
    The situation can only really be fixed by repairing the database, so
    return VL_DBBAD in this case instead, to more clearly indicate that
    something is wrong with the database, and not a problem with the
    arguments the caller provided.
    
    Change-Id: I6fc275c3ad05c108778f36687227b0a927cca5da
    Reviewed-on: https://gerrit.openafs.org/13384
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

 src/vlserver/vlutils.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

-- 
OpenAFS Master Repository