]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd/osd_operations/client_request: Fix client blocklisting 51709/head
authorMatan Breizman <mbreizma@redhat.com>
Sun, 7 May 2023 13:29:22 +0000 (13:29 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Tue, 23 May 2023 13:23:22 +0000 (13:23 +0000)
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 <mbreizma@redhat.com>
(cherry picked from commit 9c1531ca404582725bfcb758dd489626fda31454)

src/crimson/osd/osd_operations/client_request.cc

index 57726603584bfa6ae3e22648bc5889a7d4f2a7a7..0aa38d27c7c9599ca7dec357a9f06fbc9bba8ef4 100644 (file)
@@ -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);
   }