]>
git.proxmox.com Git - ceph.git/blob - ceph/src/crimson/osd/pg_interval_interrupt_condition.cc
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 #include "pg_interval_interrupt_condition.h"
7 #include "crimson/common/log.h"
9 namespace crimson::osd
{
11 IOInterruptCondition::IOInterruptCondition(Ref
<PG
>& pg
)
12 : pg(pg
), e(pg
->get_osdmap_epoch()) {}
14 IOInterruptCondition::~IOInterruptCondition() {
15 // for the sake of forward declaring PG (which is a detivate of
16 // intrusive_ref_counter<...>)
19 bool IOInterruptCondition::new_interval_created() {
20 bool ret
= e
< pg
->get_interval_start_epoch();
22 ::crimson::get_logger(ceph_subsys_osd
).debug(
23 "{} new interval, should interrupt, e{}", *pg
, e
);
27 bool IOInterruptCondition::is_stopping() {
29 ::crimson::get_logger(ceph_subsys_osd
).debug(
30 "{} shutting down, should interrupt", *pg
);
34 bool IOInterruptCondition::is_primary() {
35 return pg
->is_primary();
38 } // namespace crimson::osd