From 4a43ea171d84a9f3a13064030eb386fcfbe3bbb8 Mon Sep 17 00:00:00 2001 From: Ma Jianpeng Date: Wed, 23 Jul 2014 10:10:38 -0700 Subject: [PATCH] os/FileJournal: Update the journal header when closing journal When closing journal, it should check must_write_header and update journal header if must_write_header alreay set. It can reduce the nosense journal-replay after restarting osd. Signed-off-by: Ma Jianpeng Reviewed-by: Sage Weil (cherry picked from commit 5bf472aefb7360a1fe17601b42e551df120badfb) --- src/os/FileJournal.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/os/FileJournal.cc b/src/os/FileJournal.cc index 7eb7927e0412a..5649e6da60504 100644 --- a/src/os/FileJournal.cc +++ b/src/os/FileJournal.cc @@ -544,6 +544,7 @@ void FileJournal::close() // close assert(writeq_empty()); + assert(!must_write_header); assert(fd >= 0); VOID_TEMP_FAILURE_RETRY(::close(fd)); fd = -1; @@ -1102,7 +1103,7 @@ void FileJournal::write_thread_entry() while (1) { { Mutex::Locker locker(writeq_lock); - if (writeq.empty()) { + if (writeq.empty() && !must_write_header) { if (write_stop) break; dout(20) << "write_thread_entry going to sleep" << dendl; -- 2.39.5