OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-4353-gb9bbd21

Gerrit Code Review
Thu, 4 Sep 2014 08:52:19 -0400

The following commit has been merged in the master branch:
commit b9bbd21e88e2050957c1a7d49f3ad603cae763b2
Author: Simon Wilkinson <>
Date:   Mon Aug 25 16:15:26 2014 +0100

    ubik: Don't leak UBIK_VERSION_LOCK if setlabel fails
    If a call to the setlabel() physical IO function fails, don't
    leak the UBIK_VERSION_LOCK.
    This is the possible cause of a vlserver deadlock, which had
    approximately 4800 threads blocked. Analysis of backtrace of all
    of these threads showed that all blocked threads were waiting in
    ubik.c:555 (blocked on DBHOLD) with the exception of:
    One in beacon.c:388 (blocked on UBIK_VERSION_LOCK)
    One in recovery.c:503 (blocked on DBHOLD)
    One in ubik.c:125 (blocked on DBHOLD)
    One in ubik.c:585 (blocked on UBIK_VERSION_LOCK)
    The last of these is the critical one, because it already holds
    the lock that DBHOLD waits on - so despite the vast majority of
    threads being blocked in DBHOLD, it's actually UBIK_VERSION_LOCK
    that we're waiting on.
    There is no sign of a thread which is still active which currently
    Change-Id: Ie6093409e9375d50fa69733908b5ce99586e1b1d
    Tested-by: BuildBot <>
    Reviewed-by: Perry Ruiter <>
    Reviewed-by: Chas Williams - CONTRACTOR <>
    Reviewed-by: Jeffrey Altman <>

 src/ubik/disk.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

OpenAFS Master Repository