From: Sage Weil Date: Fri, 22 Mar 2019 15:56:12 +0000 (-0500) Subject: log: open log file from flusher thread X-Git-Tag: v14.2.1~95^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8ad388987b384df305023c6eaab6766cb155aaa4;p=ceph.git log: open log file from flusher thread Signed-off-by: Sage Weil (cherry picked from commit 16c5d828fa93b1a5bdf9c396d7c0ce236b46df9b) --- diff --git a/src/log/Log.cc b/src/log/Log.cc index 302a2e825387..8d74dcabc04e 100644 --- a/src/log/Log.cc +++ b/src/log/Log.cc @@ -106,6 +106,9 @@ void Log::set_log_stderr_prefix(std::string_view p) void Log::reopen_log_file() { std::scoped_lock lock(m_flush_mutex); + if (!is_started()) { + return; + } m_flush_mutex_holder = pthread_self(); if (m_fd >= 0) VOID_TEMP_FAILURE_RETRY(::close(m_fd)); @@ -402,6 +405,7 @@ void Log::stop() void *Log::entry() { + reopen_log_file(); { std::unique_lock lock(m_queue_mutex); m_queue_mutex_holder = pthread_self();