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 <jianpeng.ma@intel.com>
Reviewed-by: Sage Weil <sage@redhat.com>
(cherry picked from commit
5bf472aefb7360a1fe17601b42e551df120badfb)
// close
assert(writeq_empty());
+ assert(!must_write_header);
assert(fd >= 0);
VOID_TEMP_FAILURE_RETRY(::close(fd));
fd = -1;
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;