From 6a9f944ab3fde77f6e3984c84f765eec249b15e0 Mon Sep 17 00:00:00 2001 From: Stig Telfer Date: Sat, 10 Nov 2018 22:01:53 +0100 Subject: [PATCH] msg/async/rdma: retry if poll() returns EINTR Fixes: https://tracker.ceph.com/issues/37292 Signed-off-by: Stig Telfer --- src/msg/async/rdma/RDMAStack.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/msg/async/rdma/RDMAStack.cc b/src/msg/async/rdma/RDMAStack.cc index d8e2a4957cb3b..f63a8e7d1f2b4 100644 --- a/src/msg/async/rdma/RDMAStack.cc +++ b/src/msg/async/rdma/RDMAStack.cc @@ -15,6 +15,7 @@ */ #include +#include #include #include @@ -284,7 +285,7 @@ void RDMADispatcher::polling() r = 0; perf_logger->set(l_msgr_rdma_polling, 0); while (!done && r == 0) { - r = poll(channel_poll, 2, 100); + r = TEMP_FAILURE_RETRY(poll(channel_poll, 2, 100)); if (r < 0) { r = -errno; lderr(cct) << __func__ << " poll failed " << r << dendl; -- 2.39.5