afs: Sanity-check some AFSFetchStatus structures
authorAndrew Deason <adeason@sinenomine.net>
Fri, 2 Mar 2012 23:06:48 +0000 (17:06 -0600)
committerDerrick Brashear <shadow@dementix.org>
Mon, 26 Mar 2012 18:19:50 +0000 (11:19 -0700)
commit5af63fabc553a2fecd4c3080b25fe14483f5bd98
tree9bb52fe6c0e2eeb34ab5ae8d320596801c50ad6b
parent29cb3b9f838eacf3348f83c81ce687f5882c77a2
afs: Sanity-check some AFSFetchStatus structures

We currently do not do any sanity checking on the AFSFetchStatus
structures returned from fileservers. Add some sanity checking for
BulkStatus and FetchStatus calls, so we do not screw up our cache if a
fileserver gives us bogus data.

If we do get an invalid AFSFetchStatus structure, act as if the server
gave us a VBUSY error code, so we will retry the request. For OpenAFS
fileservers prior to 1.6.1 that yield this situation, VBUSY is likely
the error code the fileserver should have responded anyway.

Change-Id: Ie16a5210149b21dd5945380f5d7b6a4d9ee01a72
Reviewed-on: http://gerrit.openafs.org/6880
Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
src/afs/VNOPS/afs_vnop_lookup.c
src/afs/afs_prototypes.h
src/afs/afs_vcache.c