]> git.michaelhowe.org Git - packages/o/openafs.git/commit
viced: Do not ignore all InlineBulkStatus errors
authorAndrew Deason <adeason@sinenomine.net>
Fri, 2 Mar 2012 20:55:04 +0000 (14:55 -0600)
committerDerrick Brashear <shadow@dementix.org>
Mon, 26 Mar 2012 02:17:27 +0000 (19:17 -0700)
commit8d20dd4ddd95a850c0b920b61083f17ba4280595
treea88512d42ea97b9b2af139f2ba26ab7ce5d1ad42
parentc381d4b1511a187ce8da9429d79dda4b1869eff6
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: I364b35cfa865d88ab664e45a5d1fc9c542cffc1a
Reviewed-on: http://gerrit.openafs.org/6957
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
src/viced/afsfileprocs.c