OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-2672-g561b9ce

Gerrit Code Review
Wed, 4 Jul 2012 07:06:34 -0700 (PDT)

The following commit has been merged in the master branch:
commit 561b9ce80938d316223f2b313f8224fe06af9d5a
Author: Jeffrey Altman <>
Date:   Tue Jul 3 15:38:33 2012 -0400

    Windows: RDR RXAFS_GetVolumeStatus vs 1.1 'l' only
    The Windows redirector relies upon the ability to obtain volume
    status information to decide whether a file system volume object
    can be created and whether or not an extending write can be
    permitted.  As of this writing, the file server always performs
    a PRFS_READ access check on the volume's root directory (1.1)
    vnode as a condition for releasing the volume state information
    which includes:
      Message of the day (if any)
      Offline message (if any)
      Online flag
      InService flag
      Blessed flag
      NeedsSalvage flag
    All of this information is publicly available to anonymous users
    via "vos examine" so it is odd that it is hidden from anonymous
    cache managers.  When RXAFS_GetVolumeStatus fails, the AFS redirector
    was failing to create a file system object for the AFS volume.  That
    in turn prevented the volume from being accessed even if the user
    had 'l' in the root directory and full access everywhere else.
    This patchset will make up fake data for the AFS volume if the
    RPC fails.  However, doing so does have consequences.  The client
    will be unable to make an accurate determination regarding free space
    on the file server.  As a result, an extending write may be permitted
    which writes data into the system page cache which in turn cannot
    be written to the file server.   Such data will be lost and unrecoverable.
    Change-Id: Ic818ce9d51893181941f41d6628394b5917dc811
    Tested-by: BuildBot <>
    Reviewed-by: Jeffrey Altman <>
    Tested-by: Jeffrey Altman <>

 src/WINNT/afsrdr/user/RDRFunction.c |  152 ++++++++++++++++++++---------------
 1 files changed, 86 insertions(+), 66 deletions(-)

OpenAFS Master Repository