(dirty & CEPH_CAP_ANY_WR)) {
in->get();
CapSnap *capsnap = &in->cap_snaps[seq];
- capsnap->context = in->snaprealm->cached_snap_context;
+ capsnap->context = in->snaprealm->get_snap_context();
capsnap->issued = in->caps_issued();
capsnap->dirty = in->caps_dirty(); // a bit conservative?
while (!p.end()) {
Inode *in = *p;
++p;
- queue_cap_snap(in, realm->cached_snap_context.seq);
+ queue_cap_snap(in, realm->get_snap_context().seq);
}
for (set<SnapRealm*>::iterator p = realm->pchildren.begin();
dout(10) << " moving " << *in << " from " << *in->snaprealm << dendl;
// queue for snap writeback
- queue_cap_snap(in, in->snaprealm->cached_snap_context.seq);
+ queue_cap_snap(in, in->snaprealm->get_snap_context().seq);
put_snap_realm(in->snaprealm);
in->snaprealm_item.remove_myself();
SnapRealm *pparent;
set<SnapRealm*> pchildren;
+private:
SnapContext cached_snap_context; // my_snaps + parent snaps + past_parent_snaps
+ friend ostream& operator<<(ostream& out, const SnapRealm& r);
+public:
xlist<Inode*> inodes_with_caps;
SnapRealm(inodeno_t i) :