]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
ECBackend: update pg_log missing for async_recovery_targets
authorNeha Ojha <nojha@redhat.com>
Wed, 31 Jan 2018 02:45:58 +0000 (18:45 -0800)
committerNeha Ojha <nojha@redhat.com>
Thu, 15 Mar 2018 18:13:33 +0000 (11:13 -0700)
Signed-off-by: Neha Ojha <nojha@redhat.com>
src/osd/ECBackend.cc

index f78e0a12a72dfd5ca5bb221dbf113213eea16433..370370ee5fecb617b406c623238acc25e41827d5 100644 (file)
@@ -904,6 +904,18 @@ void ECBackend::handle_sub_write(
     }
   }
   clear_temp_objs(op.temp_removed);
+  dout(10) << __func__ << " missing before " << get_parent()->get_log().get_missing().get_items() << dendl;
+  pg_missing_tracker_t pmissing = get_parent()->get_local_missing();
+  if (pmissing.is_missing(op.soid)) {
+    dout(10) << __func__ << " pmissing.is_missing(op.soid) " << pmissing.is_missing(op.soid) << dendl;
+    for (auto &&e: op.log_entries) {
+      dout(10) << " add_next_event entry " << e << dendl;
+      get_parent()->add_local_next_event(e);
+      dout(10) << " entry version " << e.version << dendl;
+      dout(10) << " entry prior version " << e.prior_version << dendl;
+      dout(10) << " entry is_delete " << e.is_delete() << dendl;
+    }
+  }
   get_parent()->log_operation(
     op.log_entries,
     op.updated_hit_set_history,
@@ -928,6 +940,7 @@ void ECBackend::handle_sub_write(
   tls.push_back(std::move(op.t));
   tls.push_back(std::move(localt));
   get_parent()->queue_transactions(tls, msg);
+  dout(10) << __func__ << " missing after" << get_parent()->get_log().get_missing().get_items() << dendl;
 }
 
 void ECBackend::handle_sub_read(