rds: tcp: compute m_ack_seq as offset from ->write_seq
authorSowmini Varadhan <sowmini.varadhan@oracle.com>
Thu, 18 Jan 2018 21:11:07 +0000 (13:11 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 22 Jan 2018 20:43:54 +0000 (15:43 -0500)
commitb589513e6354a5fd6934823b7fd66bffad41137a
tree0d9e892d669ca556ac5ce566d949aa16ae6f0d9a
parentab18a9c9ca27f8208c4960a1b25e8475b9f9dda5
rds: tcp: compute m_ack_seq as offset from ->write_seq

rds-tcp uses m_ack_seq to track the tcp ack# that indicates
that the peer has received a rds_message. The m_ack_seq is
used in rds_tcp_is_acked() to figure out when it is safe to
drop the rds_message from the RDS retransmit queue.

The m_ack_seq must be calculated as an offset from the right
edge of the in-flight tcp buffer, i.e., it should be based on
the ->write_seq, not the ->snd_nxt.

Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/rds/tcp.c
net/rds/tcp.h
net/rds/tcp_send.c