X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fmon%2FCreatingPGs.h;fp=src%2Fceph%2Fsrc%2Fmon%2FCreatingPGs.h;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=49935108c442fdd02b4a805c28e494b2a07cdd78;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/mon/CreatingPGs.h b/src/ceph/src/mon/CreatingPGs.h deleted file mode 100644 index 4993510..0000000 --- a/src/ceph/src/mon/CreatingPGs.h +++ /dev/null @@ -1,126 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab - -#pragma once - -#include -#include -#include "include/encoding.h" - -struct creating_pgs_t { - epoch_t last_scan_epoch = 0; - - /// pgs we are currently creating - std::map > pgs; - - struct create_info { - epoch_t created; - utime_t modified; - uint64_t start = 0; - uint64_t end = 0; - bool done() const { - return start >= end; - } - void encode(bufferlist& bl) const { - ::encode(created, bl); - ::encode(modified, bl); - ::encode(start, bl); - ::encode(end, bl); - } - void decode(bufferlist::iterator& p) { - ::decode(created, p); - ::decode(modified, p); - ::decode(start, p); - ::decode(end, p); - } - }; - - /// queue of pgs we still need to create (poolid -> ) - map queue; - - /// pools that exist in the osdmap for which at least one pg has been created - std::set created_pools; - - bool create_pool(int64_t poolid, uint32_t pg_num, - epoch_t created, utime_t modified) { - if (created_pools.count(poolid) == 0) { - auto& c = queue[poolid]; - c.created = created; - c.modified = modified; - c.end = pg_num; - created_pools.insert(poolid); - return true; - } else { - return false; - } - } - unsigned remove_pool(int64_t removed_pool) { - const unsigned total = pgs.size(); - auto first = pgs.lower_bound(pg_t{0, (uint64_t)removed_pool}); - auto last = pgs.lower_bound(pg_t{0, (uint64_t)removed_pool + 1}); - pgs.erase(first, last); - created_pools.erase(removed_pool); - queue.erase(removed_pool); - return total - pgs.size(); - } - void encode(bufferlist& bl) const { - ENCODE_START(2, 1, bl); - ::encode(last_scan_epoch, bl); - ::encode(pgs, bl); - ::encode(created_pools, bl); - ::encode(queue, bl); - ENCODE_FINISH(bl); - } - void decode(bufferlist::iterator& bl) { - DECODE_START(2, bl); - ::decode(last_scan_epoch, bl); - ::decode(pgs, bl); - ::decode(created_pools, bl); - if (struct_v >= 2) - ::decode(queue, bl); - DECODE_FINISH(bl); - } - void dump(ceph::Formatter *f) const { - f->dump_unsigned("last_scan_epoch", last_scan_epoch); - f->open_array_section("creating_pgs"); - for (auto& pg : pgs) { - f->open_object_section("pg"); - f->dump_stream("pgid") << pg.first; - f->dump_unsigned("epoch", pg.second.first); - f->dump_stream("ctime") << pg.second.second; - f->close_section(); - } - f->close_section(); - f->open_array_section("queue"); - for (auto& p : queue) { - f->open_object_section("pool"); - f->dump_unsigned("pool", p.first); - f->dump_unsigned("created", p.second.created); - f->dump_stream("modified") << p.second.modified; - f->dump_unsigned("ps_start", p.second.start); - f->dump_unsigned("ps_end", p.second.end); - f->close_section(); - } - f->close_section(); - f->open_array_section("created_pools"); - for (auto pool : created_pools) { - f->dump_unsigned("pool", pool); - } - f->close_section(); - } - static void generate_test_instances(list& o) { - auto c = new creating_pgs_t; - c->last_scan_epoch = 17; - c->pgs.emplace(pg_t{42, 2}, make_pair(31, utime_t{891, 113})); - c->pgs.emplace(pg_t{44, 2}, make_pair(31, utime_t{891, 113})); - c->created_pools = {0, 1}; - o.push_back(c); - c = new creating_pgs_t; - c->last_scan_epoch = 18; - c->pgs.emplace(pg_t{42, 3}, make_pair(31, utime_t{891, 113})); - c->created_pools = {}; - o.push_back(c); - } -}; -WRITE_CLASS_ENCODER(creating_pgs_t::create_info); -WRITE_CLASS_ENCODER(creating_pgs_t);