From: Patrick Donnelly Date: Tue, 25 Oct 2022 14:26:36 +0000 (-0400) Subject: log: invalidate m_fd on close X-Git-Tag: v18.1.0~751^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=61396ab91a266c217b618b4da139ad9858bd60ef;p=ceph.git log: invalidate m_fd on close Signed-off-by: Patrick Donnelly --- diff --git a/src/log/Log.cc b/src/log/Log.cc index da645ce8b404..78bedf03cfa4 100644 --- a/src/log/Log.cc +++ b/src/log/Log.cc @@ -58,8 +58,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; + } } @@ -116,8 +118,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)) { @@ -127,8 +131,6 @@ void Log::reopen_log_file() << std::endl; } } - } else { - m_fd = -1; } m_flush_mutex_holder = 0; }