RDS: RDMA: Fix the composite message user notification
authorSantosh Shilimkar <santosh.shilimkar@oracle.com>
Fri, 19 Feb 2016 04:06:47 +0000 (20:06 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 8 Oct 2017 08:14:16 +0000 (10:14 +0200)
commit6a501bddeba3406517e0ba3529d9a665709df4a1
treeb5344840ac61780e9928f1fea5d6eebf27e1ded8
parentd4f97441cb888cf53b88f38ac0dc6bbe3a044910
RDS: RDMA: Fix the composite message user notification

[ Upstream commit 941f8d55f6d613a460a5e080d25a38509f45eb75 ]

When application sends an RDS RDMA composite message consist of
RDMA transfer to be followed up by non RDMA payload, it expect to
be notified *only* when the full message gets delivered. RDS RDMA
notification doesn't behave this way though.

Thanks to Venkat for debug and root casuing the issue
where only first part of the message(RDMA) was
successfully delivered but remainder payload delivery failed.
In that case, application should not be notified with
a false positive of message delivery success.

Fix this case by making sure the user gets notified only after
the full message delivery.

Reviewed-by: Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/rds/ib_send.c
net/rds/rdma.c
net/rds/rds.h
net/rds/send.c