From: Sage Weil Date: Wed, 25 Sep 2019 18:28:30 +0000 (-0500) Subject: messages/MOSDOpReply: ensure input payload is not passed via reply X-Git-Tag: v15.1.0~1384^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F30581%2Fhead;p=ceph.git messages/MOSDOpReply: ensure input payload is not passed via reply The reply shouldn't include the input payload, for the sake of efficiency. This has the slightly annoying side-effect that the class name and method are no longer visible in osd_op_reply messages. However, it does mean that any data payload is not sent back to the client. Signed-off-by: Sage Weil --- diff --git a/src/messages/MOSDOpReply.h b/src/messages/MOSDOpReply.h index 2428c7ac839f..ed79f6587a80 100644 --- a/src/messages/MOSDOpReply.h +++ b/src/messages/MOSDOpReply.h @@ -145,9 +145,11 @@ public: retry_attempt = req->get_retry_attempt(); do_redirect = false; - // zero out data? - if (ignore_out_data) { - for (unsigned i = 0; i < ops.size(); i++) { + for (unsigned i = 0; i < ops.size(); i++) { + // zero out input data + ops[i].indata.clear(); + if (ignore_out_data) { + // original request didn't set the RETURNVEC flag ops[i].outdata.clear(); } }