OpenAFS Master Repository branch, openafs-stable-1_6_1-branch, updated. openafs-stable-1_6_1pre4-11-g9304166

Gerrit Code Review gerrit@openafs.org
Sun, 25 Mar 2012 19:18:39 -0700 (PDT)


The following commit has been merged in the openafs-stable-1_6_1-branch branch:
commit 9304166380e0d997671c528ac3ed456704512a83
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Mar 2 14:55:04 2012 -0600

    viced: Do not ignore all InlineBulkStatus errors
    
    InlineBulkStatus currently returns 0 unconditionally, no matter what
    errors are encountered. If we encounter an error early enough, from
    CallPreamble for example, we do not fill in the OutStats nor CallBacks
    structures at all. Since we return success anyway, this results in the
    client getting AFSFetchStatus structures full of zeroes (or garbage,
    before commit 726e1e13ff93e2cc1ac21964dc8d906869e64406).
    
    Since current OpenAFS clients do not perform any sanity checks on the
    information received, this can result in cache corruption of files
    being seen incorrectly as empty, and, before commit 726e1e, more
    arbitrary corruption.
    
    So instead, return an error if we encounter an error before we iterate
    over the given FIDs. We still of course do not return an error for any
    errors encountered during the actual metadata retrieval, as those are
    reflected in the individual per-fid status structures.
    
    Reviewed-on: http://gerrit.openafs.org/6871
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 690a4c144b53fd1f3538d83017ecf581a2bcded5)
    
    Change-Id: Ide6bf179d3296d5105373f87052c0fb9df4fcacf
    Reviewed-on: http://gerrit.openafs.org/6958
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

 src/viced/afsfileprocs.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

-- 
OpenAFS Master Repository