OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_63-15-g427b27a
Gerrit Code Review
Sun, 20 Sep 2009 05:47:45 -0700 (PDT)
The following commit has been merged in the master branch:
Author: Jeffrey Altman <email@example.com>
Date: Sat Sep 19 13:52:32 2009 -0400
Windows: Do not mark server down due to Store / Fetch Data protocol error
When performing a StoreData or FetchData operation there are
several data validation checks performed to ensure that the
lengths of data obtained with rx_Write and rx_Read are consistent
with the RXAFS_FetchData and RXAFS_StoreData protocol operations.
When an inconsistency is detected the cache manager terminates the
call and returns an error to the caller which is passed to cm_Analyze().
The cache manager was returning -1 as the error code which is
equivalent to RX_CALL_DEAD which in turn will result in the server
being marked down.
This commit makes the following changes:
. add trace logging to permit monitoring this case
. instead of returning -1 return either RX_PROTOCOL_ERROR or RX_EOF
depending on the situation
. in cm_Analyze do not mark a server as down for rx errors other
than RX_CALL_DEAD. Instead, force a new connection and retry
until the request timeout limit is reached.
Reviewed-by: Derrick Brashear <firstname.lastname@example.org>
Reviewed-by: Jeffrey Altman <email@example.com>
Tested-by: Jeffrey Altman <firstname.lastname@example.org>
src/WINNT/afsd/cm_conn.c | 16 ++++++++++------
src/WINNT/afsd/cm_dcache.c | 25 ++++++++++++++++---------
2 files changed, 26 insertions(+), 15 deletions(-)
OpenAFS Master Repository