From: Patrick Donnelly Date: Tue, 25 Oct 2022 14:26:36 +0000 (-0400) Subject: log: invalidate m_fd on close X-Git-Tag: v17.2.7~446^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=678703828a3239d9357110d56258e205e5b3aa39;p=ceph.git log: invalidate m_fd on close Signed-off-by: Patrick Donnelly (cherry picked from commit 61396ab91a266c217b618b4da139ad9858bd60ef) --- diff --git a/src/log/Log.cc b/src/log/Log.cc index 81fb3ff5cc40..ec44b0f551f7 100644 --- a/src/log/Log.cc +++ b/src/log/Log.cc @@ -57,8 +57,10 @@ Log::~Log() } ceph_assert(!is_started()); - if (m_fd >= 0) + if (m_fd >= 0) { VOID_TEMP_FAILURE_RETRY(::close(m_fd)); + m_fd = -1; + } } @@ -115,8 +117,10 @@ void Log::reopen_log_file() return; } m_flush_mutex_holder = pthread_self(); - if (m_fd >= 0) + if (m_fd >= 0) { VOID_TEMP_FAILURE_RETRY(::close(m_fd)); + m_fd = -1; + } if (m_log_file.length()) { m_fd = ::open(m_log_file.c_str(), O_CREAT|O_WRONLY|O_APPEND|O_CLOEXEC, 0644); if (m_fd >= 0 && (m_uid || m_gid)) { @@ -126,8 +130,6 @@ void Log::reopen_log_file() << std::endl; } } - } else { - m_fd = -1; } m_flush_mutex_holder = 0; }