MCPcopy Create free account
hub / github.com/ceph/ceph / wake_up_session_caps

Method wake_up_session_caps

src/client/Client.cc:4554–4573  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4552}
4553
4554void Client::wake_up_session_caps(MetaSession *s, bool reconnect)
4555{
4556 for (const auto &cap : s->caps) {
4557 auto &in = cap->inode;
4558 if (reconnect) {
4559 in.requested_max_size = 0;
4560 in.wanted_max_size = 0;
4561 } else {
4562 if (cap->gen < s->cap_gen) {
4563 // mds did not re-issue stale cap.
4564 cap->issued = cap->implemented = CEPH_CAP_PIN;
4565 // make sure mds knows what we want.
4566 if (in.caps_file_wanted() & ~cap->wanted)
4567 in.flags |= I_CAP_DROPPED;
4568 }
4569 }
4570 ldout(cct, 10) << __func__ << " calling signal_caps_inode" << dendl;
4571 signal_caps_inode(&in);
4572 }
4573}
4574
4575
4576// flush dirty data (from objectcache)

Callers

nothing calls this directly

Calls 1

caps_file_wantedMethod · 0.80

Tested by

no test coverage detected