afs: make sure to call afs_Analyze after afs_Conn 88/13288/3
authorMichael Meffie <mmeffie@sinenomine.net>
Fri, 16 Mar 2018 14:25:18 +0000 (09:25 -0500)
committerBenjamin Kaduk <kaduk@mit.edu>
Sat, 6 Oct 2018 20:06:20 +0000 (16:06 -0400)
commit0835d7c2a183f896096684df06258aefd297f080
tree3242011e2e4a48160d8ccad1f039df91b4d01bc0
parent07ed94cfd817dc5a4e2d2712570087388fe7828f
afs: make sure to call afs_Analyze after afs_Conn

The afs_Conn function is used to pick a connection for a given RPC. The
RPC is normally wrapped within a do-while loop which calls afs_Analyze
to handle the RPC code and manage the server connection references.
Among other things, afs_Analyze can mark the server as down, blacklist
idle servers, etc.

There are some special cases in which we break out of this do-while loop
early, by putting the connection reference given by afs_Conn and then
jumping out of the loop.

In these cases, be sure to call afs_Analyze to put the server connection
we got from afs_Conn, and to handle the RPC return code, possibly
marking the server as down or blacklisted.

Change-Id: Ic2c43f20d153376b93d79bbb5145914f8e478957
Reviewed-on: https://gerrit.openafs.org/13288
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
src/afs/afs_bypasscache.c
src/afs/afs_dcache.c