]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
msg, msg/async, v2: drop crc fields from ceph_msg_header2.
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Wed, 27 Feb 2019 21:03:27 +0000 (22:03 +0100)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Fri, 1 Mar 2019 01:50:49 +0000 (02:50 +0100)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/include/msgr.h
src/msg/async/ProtocolV2.cc
src/msg/async/frames_v2.h

index 527197cbb3198b2c6d12d6b6278abc44bbf39f6e..4029443d0a4e588b5288c92ba50b511220134a70 100644 (file)
@@ -204,13 +204,10 @@ struct ceph_msg_header2 {
                             receiver: mask against ~PAGE_MASK */
 
        __le64 ack_seq;
-
-       __le32 front_crc, middle_crc, data_crc;
        __u8 flags;
        /* oldest code we think can decode this.  unknown if zero. */
        __le16 compat_version;
        __le16 reserved;
-       __le32 header_crc;
 } __attribute__ ((packed));
 
 #define CEPH_MSG_PRIO_LOW     64
index 71ed6065e7a4c0f0ab8f36dd0247ab9b054c30e6..361aa06f9a18e07474b4a8cbcf58f25dceae9f6f 100644 (file)
@@ -399,7 +399,7 @@ void ProtocolV2::prepare_send_message(uint64_t features,
   }
 
   // encode and copy out of *m
-  m->encode(features, messenger->crcflags);
+  m->encode(features, 0);
 }
 
 void ProtocolV2::send_message(Message *m) {
@@ -509,16 +509,9 @@ ssize_t ProtocolV2::write_message(Message *m, bool more) {
                            header.type,       header.priority,
                            header.version,
                            0,                 header.data_off,
-                           ack_seq,           footer.front_crc,
-                           footer.middle_crc, footer.data_crc,
+                           ack_seq,
                            footer.flags,      header.compat_version,
-                           header.reserved,   0};
-
-  if (messenger->crcflags & MSG_CRC_HEADER) {
-    header2.header_crc =
-        ceph_crc32c(0, (unsigned char *)&header2,
-                    sizeof(header2) - sizeof(header2.header_crc));
-  }
+                           header.reserved};
 
   auto message = MessageHeaderFrame::Encode(session_stream_handlers,
                             header2,
@@ -1316,18 +1309,6 @@ CtPtr ProtocolV2::handle_message() {
                 << " off " << header.data_off
                  << dendl;
 
-  if (messenger->crcflags & MSG_CRC_HEADER) {
-    __u32 header_crc = 0;
-    header_crc = ceph_crc32c(0, (unsigned char *)&header,
-                             sizeof(header) - sizeof(header.header_crc));
-    // verify header crc
-    if (header_crc != header.header_crc) {
-      ldout(cct, 0) << __func__ << " got bad header crc " << header_crc
-                    << " != " << header.header_crc << dendl;
-      return _fault();
-    }
-  }
-
   INTERCEPT(16);
 
   // Reset state
@@ -1497,10 +1478,9 @@ CtPtr ProtocolV2::handle_message_complete() {
                          current_header.compat_version,
                          current_header.reserved,
                          0};
-  ceph_msg_footer footer{current_header.front_crc, current_header.middle_crc,
-                         current_header.data_crc, 0, current_header.flags};
+  ceph_msg_footer footer{0, 0, 0, 0, current_header.flags};
 
-  Message *message = decode_message(cct, messenger->crcflags, header, footer,
+  Message *message = decode_message(cct, 0, header, footer,
       rx_segments_data[SegmentIndex::Msg::FRONT],
       rx_segments_data[SegmentIndex::Msg::MIDDLE],
       rx_segments_data[SegmentIndex::Msg::DATA],
index f1c60db9a4f447badc58c6fabaf536542ce21889..dbbb29e6c9230d487d73047e7987a35a75f39235 100644 (file)
@@ -647,10 +647,6 @@ struct MessageHeaderFrame
       // auth tag will be appended at the end
       f.payload = session_stream_handlers.tx->authenticated_encrypt_final();
     } else {
-      f.payload.append(front);
-      f.payload.append(middle);
-      f.payload.append(data);
-
       epilogue_block_t epilogue;
       ceph::bufferlist::const_iterator hdriter(&f.payload, FRAME_PREAMBLE_SIZE);
       epilogue.crc_values[SegmentIndex::Msg::HEADER] =
@@ -659,6 +655,9 @@ struct MessageHeaderFrame
       epilogue.crc_values[SegmentIndex::Msg::MIDDLE] = middle.crc32c(-1),
       epilogue.crc_values[SegmentIndex::Msg::DATA] = data.crc32c(-1),
 
+      f.payload.append(front);
+      f.payload.append(middle);
+      f.payload.append(data);
       f.payload.append(reinterpret_cast<const char*>(&epilogue), sizeof(epilogue));
     }