crimson/os/seastore: clarify crc initial state
authorSamuel Just <sjust@redhat.com>
Fri, 21 Aug 2020 21:24:26 +0000 (14:24 -0700)
committerSamuel Just <sjust@redhat.com>
Wed, 23 Sep 2020 22:13:51 +0000 (15:13 -0700)
Otherwise, different users may use different values complicating
debugging.  We can re-add this in the future if it becomes
useful.

Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/os/seastore/cached_extent.h
src/crimson/os/seastore/segment_manager/ephemeral.cc
src/test/crimson/seastore/test_block.h
src/test/crimson/seastore/test_seastore_cache.cc

index 6ae87f83cbbe2ef61aaa7e490a26e5c64b0beb3d..4d632c0d296c553864f57481481d401f249415e6 100644 (file)
@@ -231,9 +231,9 @@ public:
   }
 
   /// Returns crc32c of buffer
-  uint32_t get_crc32c(uint32_t crc=1) {
+  uint32_t get_crc32c() {
     return ceph_crc32c(
-      crc,
+      1,
       reinterpret_cast<const unsigned char *>(get_bptr().c_str()),
       get_length());
   }
index c2b32eb00c930ba1a4e9259219df58dd39ae3487..bc25c602432801b487a1cde7ff721f8d4d6b8601 100644 (file)
@@ -67,7 +67,7 @@ Segment::write_ertr::future<> EphemeralSegmentManager::segment_write(
     addr.offset,
     get_offset(addr),
     bl.length(),
-    bl.crc32c(0));
+    bl.crc32c(1));
   if (!ignore_check && segment_state[addr.segment] != segment_state_t::OPEN)
     return crimson::ct_error::invarg::make();
 
@@ -164,7 +164,7 @@ SegmentManager::read_ertr::future<> EphemeralSegmentManager::read(
     addr.offset,
     get_offset(addr),
     len,
-    bl.begin().crc32c(config.block_size, 0));
+    bl.begin().crc32c(len, 1));
 
   return read_ertr::now();
 }
index 81ac32f365d694ceac16ab1c476c4ad031115f3e..e105ccec7533bd5a344b38747212a3bc724d393b 100644 (file)
@@ -74,15 +74,8 @@ struct TestBlock : crimson::os::seastore::LogicalCachedExtent {
     set_contents(c, 0, get_length());
   }
 
-  int checksum() {
-    return ceph_crc32c(
-      1,
-      (const unsigned char *)get_bptr().c_str(),
-      get_length());
-  }
-
   test_extent_desc_t get_desc() {
-    return { get_length(), get_crc32c(1) };
+    return { get_length(), get_crc32c() };
   }
 
   void apply_delta(const ceph::bufferlist &bl) final;
@@ -119,8 +112,6 @@ struct TestBlockPhysical : crimson::os::seastore::CachedExtent{
 
   ceph::bufferlist get_delta() final { return ceph::bufferlist(); }
 
-  int checksum() { return 0; }
-
   void apply_delta_and_adjust_crc(paddr_t, const ceph::bufferlist &bl) final {}
 };
 using TestBlockPhysicalRef = TCachedExtentRef<TestBlockPhysical>;
index 0e4b29986dd3839224e3b04931ed8e3e2a24cde8..f480cd59ef8140a2c8a169b8d5106d780088af45 100644 (file)
@@ -107,7 +107,7 @@ TEST_F(cache_test_t, test_addr_fixup)
        *t,
        TestBlockPhysical::SIZE);
       extent->set_contents('c');
-      csum = extent->checksum();
+      csum = extent->get_crc32c();
       auto ret = submit_transaction(std::move(t)).get0();
       ASSERT_TRUE(ret);
       addr = extent->get_paddr();
@@ -119,7 +119,7 @@ TEST_F(cache_test_t, test_addr_fixup)
        addr,
        TestBlockPhysical::SIZE).unsafe_get0();
       ASSERT_EQ(extent->get_paddr(), addr);
-      ASSERT_EQ(extent->checksum(), csum);
+      ASSERT_EQ(extent->get_crc32c(), csum);
     }
   });
 }
@@ -137,7 +137,7 @@ TEST_F(cache_test_t, test_dirty_extent)
        *t,
        TestBlockPhysical::SIZE);
       extent->set_contents('c');
-      csum = extent->checksum();
+      csum = extent->get_crc32c();
       auto reladdr = extent->get_paddr();
       ASSERT_TRUE(reladdr.is_relative());
       {
@@ -151,7 +151,7 @@ TEST_F(cache_test_t, test_dirty_extent)
        ASSERT_TRUE(extent->is_pending());
        ASSERT_TRUE(extent->get_paddr().is_relative());
        ASSERT_EQ(extent->get_version(), 0);
-       ASSERT_EQ(csum, extent->checksum());
+       ASSERT_EQ(csum, extent->get_crc32c());
       }
       auto ret = submit_transaction(std::move(t)).get0();
       ASSERT_TRUE(ret);
@@ -181,7 +181,7 @@ TEST_F(cache_test_t, test_dirty_extent)
       // duplicate and reset contents
       extent = cache.duplicate_for_write(*t, extent)->cast<TestBlockPhysical>();
       extent->set_contents('c');
-      csum2 = extent->checksum();
+      csum2 = extent->get_crc32c();
       ASSERT_EQ(extent->get_paddr(), addr);
       {
        // test that concurrent read with fresh transaction sees old
@@ -195,7 +195,7 @@ TEST_F(cache_test_t, test_dirty_extent)
        ASSERT_FALSE(extent->is_pending());
        ASSERT_EQ(addr, extent->get_paddr());
        ASSERT_EQ(extent->get_version(), 0);
-       ASSERT_EQ(csum, extent->checksum());
+       ASSERT_EQ(csum, extent->get_crc32c());
       }
       {
        // test that read with same transaction sees new block
@@ -207,7 +207,7 @@ TEST_F(cache_test_t, test_dirty_extent)
        ASSERT_TRUE(extent->is_pending());
        ASSERT_EQ(addr, extent->get_paddr());
        ASSERT_EQ(extent->get_version(), 1);
-       ASSERT_EQ(csum2, extent->checksum());
+       ASSERT_EQ(csum2, extent->get_crc32c());
       }
       // submit transaction
       auto ret = submit_transaction(std::move(t)).get0();
@@ -215,7 +215,7 @@ TEST_F(cache_test_t, test_dirty_extent)
       ASSERT_TRUE(extent->is_dirty());
       ASSERT_EQ(addr, extent->get_paddr());
       ASSERT_EQ(extent->get_version(), 1);
-      ASSERT_EQ(extent->checksum(), csum2);
+      ASSERT_EQ(extent->get_crc32c(), csum2);
     }
     {
       // test that fresh transaction now sees newly dirty block
@@ -227,7 +227,7 @@ TEST_F(cache_test_t, test_dirty_extent)
       ASSERT_TRUE(extent->is_dirty());
       ASSERT_EQ(addr, extent->get_paddr());
       ASSERT_EQ(extent->get_version(), 1);
-      ASSERT_EQ(csum2, extent->checksum());
+      ASSERT_EQ(csum2, extent->get_crc32c());
     }
   });
 }