From: Kotresh HR Date: Fri, 6 Mar 2026 07:28:38 +0000 (+0530) Subject: tools/cephfs_mirror: Remove additional wait in pop_dataq_entry X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c7b08218ad69ac813cbbffde567275affa3b0851;p=ceph.git tools/cephfs_mirror: Remove additional wait in pop_dataq_entry An additional wait has sneaked in while popping job from syncm's data_q. When the conditional wait was converted to timed wait as part of f6a6e781b887b01a640d6321a2c085577d9ba07e, this should have been removed. The extra wait causes no harm in most of the workflow but might cause issues when the mirror daemon is stopped. So it should be removed. This patch removes the extra cond wait Introduced-by: f6a6e781b887b01a640d6321a2c085577d9ba07e Signed-off-by: Kotresh HR --- diff --git a/src/tools/cephfs_mirror/PeerReplayer.cc b/src/tools/cephfs_mirror/PeerReplayer.cc index eee7fb14f3c..650c5d58b73 100644 --- a/src/tools/cephfs_mirror/PeerReplayer.cc +++ b/src/tools/cephfs_mirror/PeerReplayer.cc @@ -1339,7 +1339,6 @@ bool PeerReplayer::SyncMechanism::pop_dataq_entry(SyncEntry &out_entry) { std::unique_lock smq_lock(m_peer_replayer.get_smq_lock()); std::unique_lock lock(sdq_lock); dout(20) << ": snapshot data replayer waiting on m_sync_dataq, syncm=" << this << dendl; - sdq_cv.wait(lock, [this]{ return !m_sync_dataq.empty() || m_crawl_finished || m_datasync_error || m_crawl_error;}); while (true) { bool ready = sdq_cv.wait_for(lock, 2s, [this] { return m_peer_replayer.is_stopping() ||