We may have no intervals but still be non-empty (have a first and
last), because during that period there were no osds. This easily
happens when a pool is created before osds are up.
Signed-off-by: Sage Weil <sage@redhat.com>
pi_compact_rep &operator=(pi_compact_rep &&) = default;
size_t size() const override { return intervals.size(); }
- bool empty() const override { return intervals.empty(); }
+ bool empty() const override {
+ return first > last || (first == 0 && last == 0);
+ }
void clear() override {
*this = pi_compact_rep();
}