bool delete_needs_sleep = false;
protected:
- void reset_min_peer_features() {
- peer_features = CEPH_FEATURES_SUPPORTED_DEFAULT;
- }
- uint64_t get_min_peer_features() const { return peer_features; }
- void apply_peer_features(uint64_t f) { peer_features &= f; }
-
- uint64_t get_min_acting_features() const { return acting_features; }
- uint64_t get_min_upacting_features() const { return upacting_features; }
-
bool hard_limit_pglog() const {
return (get_osdmap()->test_flag(CEPH_OSDMAP_PGLOG_HARDLIMIT));
}
prior_set = ps->build_prior();
- pg->reset_min_peer_features();
+ ps->reset_min_peer_features();
get_infos();
if (prior_set.pg_down) {
post_event(IsDown());
}
psdout(20) << "Adding osd: " << infoevt.from.osd << " peer features: "
<< hex << infoevt.features << dec << dendl;
- pg->apply_peer_features(infoevt.features);
+ ps->apply_peer_features(infoevt.features);
// are we done getting everything?
if (peer_info_requested.empty() && !prior_set.pg_down) {
- psdout(20) << "Common peer features: " << hex << pg->get_min_peer_features() << dec << dendl;
- psdout(20) << "Common acting features: " << hex << pg->get_min_acting_features() << dec << dendl;
- psdout(20) << "Common upacting features: " << hex << pg->get_min_upacting_features() << dec << dendl;
+ psdout(20) << "Common peer features: " << hex << ps->get_min_peer_features() << dec << dendl;
+ psdout(20) << "Common acting features: " << hex << ps->get_min_acting_features() << dec << dendl;
+ psdout(20) << "Common upacting features: " << hex << ps->get_min_upacting_features() << dec << dendl;
post_event(GotInfo());
}
}
return missing_loc.num_unfound();
}
+private:
+ void apply_peer_features(uint64_t f) { peer_features &= f; }
+ void reset_min_peer_features() {
+ peer_features = CEPH_FEATURES_SUPPORTED_DEFAULT;
+ }
+public:
+ uint64_t get_min_peer_features() const { return peer_features; }
+ uint64_t get_min_acting_features() const { return acting_features; }
+ uint64_t get_min_upacting_features() const { return upacting_features; }
+
+
// Flush control interface
private:
void start_flush(ObjectStore::Transaction *t) {