diff --git a/src/librados/RadosClient.cc b/src/librados/RadosClient.cc index 09dd64a36acc2..a77f7719895df 100644 --- a/src/librados/RadosClient.cc +++ b/src/librados/RadosClient.cc @@ -333,6 +333,7 @@ void librados::RadosClient::shutdown() return; } if (state == CONNECTED) { + finisher.wait_for_empty(); finisher.stop(); } bool need_objecter = false; diff --git a/src/os/filestore/JournalingObjectStore.cc b/src/os/filestore/JournalingObjectStore.cc index 4708d8a22e3c2..100ae6610625b 100644 --- a/src/os/filestore/JournalingObjectStore.cc +++ b/src/os/filestore/JournalingObjectStore.cc @@ -20,6 +20,7 @@ void JournalingObjectStore::journal_start() void JournalingObjectStore::journal_stop() { dout(10) << "journal_stop" << dendl; + finisher.wait_for_empty(); finisher.stop(); }