*/
const set<snapid_t>& SnapRealm::get_snaps()
{
- if (cached_snaps.empty()) {
+ if (cached_snaps.empty() || cached_snaps_seq < seq) {
cached_snaps.clear();
cached_snap_vec.clear();
build_snap_set(cached_snaps, 0, CEPH_NOSNAP);
const vector<snapid_t>& SnapRealm::get_snap_vector()
{
- if (cached_snap_vec.empty()) {
- get_snaps();
+ get_snaps();
+ if (cached_snap_vec.empty()) {
cached_snap_vec.resize(cached_snaps.size());
unsigned i = 0;
for (set<snapid_t>::reverse_iterator p = cached_snaps.rbegin();
map<snapid_t,SnapRealm*> open_past_parents; // these are explicitly pinned.
// caches?
+ snapid_t cached_snaps_seq;
set<snapid_t> cached_snaps;
vector<snapid_t> cached_snap_vec;