]> git.michaelhowe.org Git - packages/o/openafs.git/commit
rx: Add RX_CALL_ACKALL_SENT flag and rxi_SendAck processing
authorJeffrey Altman <jaltman@your-file-system.com>
Sun, 5 Jun 2011 22:41:24 +0000 (18:41 -0400)
committerDerrick Brashear <shadow@dementia.org>
Thu, 7 Jul 2011 14:05:16 +0000 (07:05 -0700)
commit25ae5591f92bdd022712bc4729620dc384272fcd
tree418c51f05e126d71f63faea382512096c867f2bd
parent587cc8652bab48da7282f49bedf2eff8ea1cc88e
rx: Add RX_CALL_ACKALL_SENT flag and rxi_SendAck processing

3cd3715e608b801b4848399e42cb47464e6e3cc3 modified rxi_ReceiveDataPacket
to send an ACKALL whenever RX_CALL_RECEIVE_DONE is set on the call.
This produced the potential for a race with ACKs that set the
firstPacket value to 'rnext' when the receive queue for the call
has yet to be emptied.  From the perspective of receiver the ACK
was already processed and does not require a response since the
previously received ACKALL acknowledged the delivery of all data
packets to the application.  When sending ACKs after ACKALL it is
therefore required that firstPacket be set to the sequence number
after the last unprocessed packet in the receive queue.

Thanks to Simon Wilkinson for his extensive assistance in identifying
the problem and the development of this patchset.

Reviewed-on: http://gerrit.openafs.org/4798
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit cd326b2f54c3397468807c32ce0834f73c9d5d1b)

Change-Id: Ic4fa021eb33462ddf759ce0d7a8845edf1ecbed5
Reviewed-on: http://gerrit.openafs.org/4914
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/rx/rx.c
src/rx/rx.h