Signed-off-by: Jason Dillaman <dillaman@redhat.com>
if (!m_journaler->try_pop_front(&replay_entry)) {
return;
}
+
+ // only one entry should be in-flight at a time
+ assert(!m_processing_entry);
+ m_processing_entry = true;
}
bufferlist data = replay_entry.get_data();
ldout(cct, 20) << this << " " << __func__ << dendl;
assert(r == 0);
+ {
+ Mutex::Locker locker(m_lock);
+ assert(m_processing_entry);
+ m_processing_entry = false;
+ }
handle_replay_ready();
}
atomic_t m_op_tid;
TidToFutures m_op_futures;
+ bool m_processing_entry = false;
bool m_blocking_writes;
journal::Replay<ImageCtxT> *m_journal_replay;