OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-3104-gbcb077a

Gerrit Code Review
Mon, 12 Nov 2012 10:32:18 -0800 (PST)

The following commit has been merged in the master branch:
commit bcb077a00fb575e7beb92739646054ea67ca0b79
Author: Michael Meffie <>
Date:   Tue Oct 30 10:41:12 2012 -0400

    fix stale volume info from vos examine (non-dafs)
    A volume examine on a non-dafs volume server/fileserver can show old
    information, including old volume update time, for up to about 20
    minutes. The non-dafs volume server reads the volume information
    from the volume headers, which are updated by the fileserver only
    periodically to avoid excessive i/o.
    Before dafs, when the volume server performed a volume examine, the
    volume server would send a fssync command to the fileserver with the
    request FSYNC_NEEDVOLUME and mode V_READONLY. The fileserver writes
    the current memory contents to disk on this fssync command. The
    volume server would then attach the volume, reading the current
    volume data.
    The dafs volume/fileserver avoids this extra i/o by using a new set
    of fssync commands to retrieve the volume information from the
    fileserver. However, the non-dafs volume server does not use the new
    fssync commands and reads the volume headers from disk.
    Revert the volume attachment processing for the non-dafs volume
    server to request the volume with the V_READONLY mode. This causes
    the fileserver to update the volume headers, allowing the volume
    server to read the up to date volume header data.
    Sadly, this adds another dafs ifdef to the already twisty maze of
    passages that all look alike.
    This changes the volserver to use the V_READONLY attachment mode
    only for the case of getting a single volume, as that what was
    done in 1.4.x.
    Change-Id: Ibee25bfcfb087e73ccbc17e181a99da49a7751ae
    Reviewed-by: Andrew Deason <>
    Tested-by: BuildBot <>
    Reviewed-by: Derrick Brashear <>

 src/volser/volprocs.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

OpenAFS Master Repository