From: Matan Breizman Date: Sun, 7 May 2023 13:29:22 +0000 (+0000) Subject: crimson/osd/osd_operations/client_request: Fix client blocklisting X-Git-Tag: v18.1.0~35^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=df22ff8208e13a60a29339bcee444235f4fda456;p=ceph-ci.git crimson/osd/osd_operations/client_request: Fix client blocklisting See #50835. In crimson, conn is independently maintained outside Message. Therefore, when trying to use the message's connection for `get_peer_addr()` we won't be able to get the peer address. Signed-off-by: Matan Breizman (cherry picked from commit 9c1531ca404582725bfcb758dd489626fda31454) --- diff --git a/src/crimson/osd/osd_operations/client_request.cc b/src/crimson/osd/osd_operations/client_request.cc index 57726603584..0aa38d27c7c 100644 --- a/src/crimson/osd/osd_operations/client_request.cc +++ b/src/crimson/osd/osd_operations/client_request.cc @@ -283,8 +283,8 @@ ClientRequest::do_process( return reply_op_error(pg, -ENAMETOOLONG); } else if (m->get_hobj().oid.name.empty()) { return reply_op_error(pg, -EINVAL); - } else if (pg->get_osdmap()->is_blocklisted(m->get_source_addr())) { - logger().info("{} is blocklisted", m->get_source_addr()); + } else if (pg->get_osdmap()->is_blocklisted(conn->get_peer_addr())) { + logger().info("{} is blocklisted", conn->get_peer_addr()); return reply_op_error(pg, -EBLOCKLISTED); }