}
monotime get_failed_ts() {
- std::scoped_lock locker(m_lock);
- return m_failed_ts;
+ return m_failed_ts.load(std::memory_order_relaxed);
}
void set_failed_ts() {
- std::scoped_lock locker(m_lock);
- m_failed_ts = clock::now();
+ m_failed_ts.store(clock::now(), std::memory_order_relaxed);
}
bool is_blocklisted() {
}
monotime get_blocklisted_ts() {
- std::scoped_lock locker(m_lock);
- return m_blocklisted_ts;
+ return m_blocklisted_ts.load(std::memory_order_relaxed);
}
void set_blocklisted_ts() {
- std::scoped_lock locker(m_lock);
- m_blocklisted_ts = clock::now();
+ m_blocklisted_ts.store(clock::now(), std::memory_order_relaxed);
}
Peers get_peers() {
}
};
- monotime m_blocklisted_ts;
- monotime m_failed_ts;
+ std::atomic<monotime> m_blocklisted_ts;
+ std::atomic<monotime> m_failed_ts;
CephContext *m_cct;
Filesystem m_filesystem;
uint64_t m_pool_id;
if (r == -EBLOCKLISTED) {
dout(0) << ": client blocklisted" <<dendl;
- std::scoped_lock locker(m_lock);
- m_blocklisted = true;
+ {
+ std::scoped_lock locker(m_lock);
+ m_blocklisted = true;
+ }
m_elistener.set_blocklisted_ts();
} else if (r == -ENOENT) {
derr << ": mirroring object deleted" << dendl;
if (r == -EBLOCKLISTED) {
dout(0) << ": client blocklisted" <<dendl;
- std::scoped_lock locker(m_lock);
- m_blocklisted = true;
+ {
+ std::scoped_lock locker(m_lock);
+ m_blocklisted = true;
+ }
m_elistener.set_blocklisted_ts();
} else if (r == -ENOENT) {
derr << ": mirroring object deleted" << dendl;