rx: Do not count RXGEN_OPCODE towards abort threshold 06/12906/2
authorJeffrey Altman <jaltman@auristor.com>
Sat, 10 Feb 2018 15:47:24 +0000 (10:47 -0500)
committerBenjamin Kaduk <kaduk@mit.edu>
Mon, 19 Feb 2018 05:21:03 +0000 (00:21 -0500)
commitf82d1c7d5aeae148305e867c1f79c6ea2f9e0a2a
tree1c9b72428ef53700ba87ff6a311255143266c276
parent3ddae7d168ac08c46b4e31517fdb1f6ac1ae63ac
rx: Do not count RXGEN_OPCODE towards abort threshold

An RXGEN_OPCODE is returned for opcodes that are not implemented by the
rx service.  These opcodes might be deprecated opcodes that are no
longer supported or more recently registered opcodes that have yet to
be implemented.  Clients should not be punished for issuing unsupported
calls.  The clients might be old and are issuing no longer supported
calls or they might be newer and are issuing yet to be implemented calls
as part of a feature test and fallback strategy.

This change ignores RXGEN_OPCODE errors when deciding how to adjust the
rx_call.abortCount.  When an RXGEN_OPCODE abort is sent the
rx_call.abortCount and rx_call.abortError are left unchanged which
preserves the state for the next failing call.

Note that this change intentionlly prevents the incrementing of the
abortCount for client connections as they never send delay aborts.

Change-Id: I87787e7ad0a85d52a01711bb75e2be1af9a868b8
Reviewed-on: https://gerrit.openafs.org/12906
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
src/rx/rx.c