return removed_snaps.contains(s);
}
-/*
- * build set of known-removed sets from either pool snaps or
- * explicit removed_snaps set.
- */
-void pg_pool_t::build_removed_snaps(interval_set<snapid_t>& rs) const
-{
- if (is_pool_snaps_mode()) {
- rs.clear();
- for (snapid_t s = 1; s <= get_snap_seq(); s = s + 1)
- if (snaps.count(s) == 0)
- rs.insert(s);
- } else {
- rs = removed_snaps;
- }
-}
-
-bool pg_pool_t::maybe_updated_removed_snaps(const interval_set<snapid_t>& cached) const
-{
- if (is_unmanaged_snaps_mode()) { // remove_unmanaged_snap increments range_end
- if (removed_snaps.empty() || cached.empty()) // range_end is undefined
- return removed_snaps.empty() != cached.empty();
- return removed_snaps.range_end() != cached.range_end();
- }
- return true;
-}
-
snapid_t pg_pool_t::snap_exists(const char *s) const
{
for (auto p = snaps.cbegin(); p != snaps.cend(); ++p)
bool is_unmanaged_snaps_mode() const;
bool is_removed_snap(snapid_t s) const;
- /*
- * build set of known-removed sets from either pool snaps or
- * explicit removed_snaps set.
- */
- void build_removed_snaps(interval_set<snapid_t>& rs) const;
- bool maybe_updated_removed_snaps(const interval_set<snapid_t>& cached) const;
snapid_t snap_exists(const char *s) const;
void add_snap(const char *n, utime_t stamp);
void add_unmanaged_snap(uint64_t& snapid);