osd_plb.add_u64_counter(l_osd_copyfrom, "copyfrom");
osd_plb.add_u64_counter(l_osd_tier_promote, "tier_promote");
+ osd_plb.add_u64_counter(l_osd_tier_flush, "tier_flush");
+ osd_plb.add_u64_counter(l_osd_tier_flush_fail, "tier_flush_fail");
+ osd_plb.add_u64_counter(l_osd_tier_try_flush, "tier_try_flush");
+ osd_plb.add_u64_counter(l_osd_tier_try_flush_fail, "tier_try_flush_fail");
logger = osd_plb.create_perf_counters();
cct->get_perfcounters_collection()->add(logger);
}
l_osd_copyfrom,
l_osd_tier_promote,
+ l_osd_tier_flush,
+ l_osd_tier_flush_fail,
+ l_osd_tier_try_flush,
+ l_osd_tier_try_flush_fail,
l_osd_last,
};
kick_object_context_blocked(obc);
}
flush_ops.erase(oid);
+ if (fop->blocking)
+ osd->logger->inc(l_osd_tier_flush_fail);
+ else
+ osd->logger->inc(l_osd_tier_try_flush_fail);
return -EBUSY;
}
return -EINPROGRESS; // will retry. this ctx is still alive!
} else {
dout(10) << __func__ << " failed write lock, no op; failing" << dendl;
+ osd->logger->inc(l_osd_tier_try_flush_fail);
cancel_flush(fop, false);
return -ECANCELED;
}
simple_repop_submit(repop);
flush_ops.erase(oid);
+
+ if (fop->blocking)
+ osd->logger->inc(l_osd_tier_flush);
+ else
+ osd->logger->inc(l_osd_tier_try_flush);
+
return -EINPROGRESS;
}