From: Venky Shankar Date: Thu, 2 Jan 2025 09:23:48 +0000 (+0530) Subject: Merge pull request #57452 from joscollin/wip-65991-quincy X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=af654dcb8fb83496fabf7cb9982ce64eae9d75c5;p=ceph.git Merge pull request #57452 from joscollin/wip-65991-quincy quincy: cephfs_mirror: fix crash in update_fs_mirrors() Reviewed-by: Venky Shankar --- af654dcb8fb83496fabf7cb9982ce64eae9d75c5 diff --cc src/tools/cephfs_mirror/FSMirror.h index 2fc91cec22f,dd0b135d78b..9684b74620e --- a/src/tools/cephfs_mirror/FSMirror.h +++ b/src/tools/cephfs_mirror/FSMirror.h @@@ -47,19 -47,26 +47,24 @@@ public bool is_failed() { std::scoped_lock locker(m_lock); - return m_init_failed || - m_instance_watcher->is_failed() || - m_mirror_watcher->is_failed(); + bool failed = m_init_failed; + if (m_instance_watcher) { + failed |= m_instance_watcher->is_failed(); + } + if (m_mirror_watcher) { + failed |= m_mirror_watcher->is_failed(); + } + return failed; } - utime_t get_failed_ts() { + monotime get_failed_ts() { std::scoped_lock locker(m_lock); - if (m_instance_watcher) { - return m_instance_watcher->get_failed_ts(); - } - if (m_mirror_watcher) { - return m_mirror_watcher->get_failed_ts(); - } + return m_failed_ts; + } - return utime_t(); + void set_failed_ts() { + std::scoped_lock locker(m_lock); + m_failed_ts = clock::now(); } bool is_blocklisted() {