crimson/os/seastore: improve misc debugging
authorSamuel Just <sjust@redhat.com>
Tue, 18 Aug 2020 03:10:21 +0000 (20:10 -0700)
committerSamuel Just <sjust@redhat.com>
Wed, 23 Sep 2020 22:13:51 +0000 (15:13 -0700)
Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/os/seastore/cache.cc
src/crimson/os/seastore/transaction_manager.cc

index 25d20be3fabb26255d75ae2cecbd4f91d927f544..920f30cc226ed77d48b4d716f530b1f55f15e825 100644 (file)
@@ -33,6 +33,7 @@ Cache::retire_extent_ret Cache::retire_extent_if_cached(
   Transaction &t, paddr_t addr)
 {
   if (auto ext = t.write_set.find_offset(addr); ext != t.write_set.end()) {
+    logger().debug("{}: found {} in t.write_set", __func__, addr);
     t.add_to_retired_set(CachedExtentRef(&*ext));
     return retire_extent_ertr::now();
   } else if (auto iter = extents.find_offset(addr);
@@ -165,6 +166,10 @@ std::optional<record_t> Cache::try_construct_record(Transaction &t)
   }
 
   if (t.root) {
+    logger().debug(
+      "{}: writing out root delta for {}",
+      __func__,
+      *t.root);
     record.deltas.push_back(
       delta_info_t{
        extent_types_t::ROOT,
index 82a4d3de327ed183928261670af268c0aa7e88b7..8b035768106fb1ab610fe77a96c94d08b7807588 100644 (file)
@@ -120,6 +120,9 @@ TransactionManager::ref_ret TransactionManager::dec_ref(
   return lba_manager.decref_extent(t, ref->get_laddr()
   ).safe_then([this, &t, ref](auto ret) {
     if (ret.refcount == 0) {
+      logger().debug(
+       "TransactionManager::dec_ref: extent {} refcount 0",
+       *ref);
       cache.retire_extent(t, ref);
     }
     return ret.refcount;
@@ -131,8 +134,11 @@ TransactionManager::ref_ret TransactionManager::dec_ref(
   laddr_t offset)
 {
   return lba_manager.decref_extent(t, offset
-  ).safe_then([this, &t](auto result) -> ref_ret {
+  ).safe_then([this, offset, &t](auto result) -> ref_ret {
     if (result.refcount == 0) {
+      logger().debug(
+       "TransactionManager::dec_ref: offset {} refcount 0",
+       offset);
       return cache.retire_extent_if_cached(t, result.addr).safe_then([] {
        return ref_ret(
          ref_ertr::ready_future_marker{},