]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
AsyncConnection: fixup for 2ffacbe (crc configuration in messenger)
authorHaomai Wang <haomaiwang@gmail.com>
Thu, 5 Feb 2015 02:40:35 +0000 (10:40 +0800)
committerHaomai Wang <haomaiwang@gmail.com>
Thu, 5 Feb 2015 02:40:35 +0000 (10:40 +0800)
Learn from commit d5d1e27d9190463f484f896456ae6a9b5ea15cf8

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
src/msg/async/AsyncConnection.cc

index 61dccf127fc9c5669555bca241907378302cdd45..e6014a6820470f9531c46227fee2c14c13e52b3b 100644 (file)
@@ -596,10 +596,9 @@ void AsyncConnection::process()
                               << " off " << header.data_off << dendl;
 
           // verify header crc
-          if (!(msgr->crcflags & MSG_CRC_HEADER)) {
-          } else if (header_crc != header.crc) {
+          if (msgr->crcflags & MSG_CRC_HEADER && header_crc != header.crc) {
             ldout(async_msgr->cct,0) << __func__ << " reader got bad header crc "
-                              << header_crc << " != " << header.crc << dendl;
+                                     << header_crc << " != " << header.crc << dendl;
             goto fail;
           }
 
@@ -768,11 +767,9 @@ void AsyncConnection::process()
             footer = *((ceph_msg_footer*)state_buffer);
           } else {
             old_footer = *((ceph_msg_footer_old*)state_buffer);
-            if (msgr->crcflags & MSG_CRC_HEADER) {
-              footer.front_crc = old_footer.front_crc;
-              footer.middle_crc = old_footer.middle_crc;
-              footer.data_crc = old_footer.data_crc;
-            }
+            footer.front_crc = old_footer.front_crc;
+            footer.middle_crc = old_footer.middle_crc;
+            footer.data_crc = old_footer.data_crc;
             footer.sig = 0;
             footer.flags = old_footer.flags;
           }
@@ -2211,8 +2208,9 @@ int AsyncConnection::write_message(ceph_msg_header& header, ceph_msg_footer& foo
       old_footer.middle_crc = footer.middle_crc;
       old_footer.data_crc = footer.data_crc;
     } else {
-       old_footer.front_crc = old_footer.middle_crc = old_footer.data_crc = 0;
+       old_footer.front_crc = old_footer.middle_crc = 0;
     }
+    old_footer.data_crc = msgr->crcflags & MSG_CRC_DATA ? footer.data_crc : 0;
     old_footer.flags = footer.flags;
     bl.append((char*)&old_footer, sizeof(old_footer));
   }