]>
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"
11 namespace crimson::osd
{
13 IOInterruptCondition::IOInterruptCondition(Ref
<PG
>& pg
)
14 : pg(pg
), e(pg
->get_osdmap_epoch()) {}
16 IOInterruptCondition::~IOInterruptCondition() {
17 // for the sake of forward declaring PG (which is a detivate of
18 // intrusive_ref_counter<...>)
21 bool IOInterruptCondition::new_interval_created() {
22 LOG_PREFIX(IOInterruptCondition::new_interval_created
);
23 const epoch_t interval_start
= pg
->get_interval_start_epoch();
24 bool ret
= e
< interval_start
;
26 DEBUGDPP("stored interval e{} < interval_start e{}", *pg
, e
, interval_start
);
31 bool IOInterruptCondition::is_stopping() {
32 LOG_PREFIX(IOInterruptCondition::is_stopping
);
34 DEBUGDPP("pg stopping", *pg
);
39 bool IOInterruptCondition::is_primary() {
40 return pg
->is_primary();
43 } // namespace crimson::osd