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

Method caps_issued

src/client/Inode.cc:255–274  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

253}
254
255int Inode::caps_issued(int *implemented) const
256{
257 int c = snap_caps;
258 int i = 0;
259 for (const auto &[mds, cap] : caps) {
260 if (cap_is_valid(cap)) {
261 c |= cap.issued;
262 i |= cap.implemented;
263 }
264 }
265 // exclude caps issued by non-auth MDS, but are been revoking by
266 // the auth MDS. The non-auth MDS should be revoking/exporting
267 // these caps, but the message is delayed.
268 if (auth_cap)
269 c &= ~auth_cap->implemented | auth_cap->issued;
270
271 if (implemented)
272 *implemented = i;
273 return c;
274}
275
276void Inode::try_touch_cap(mds_rank_t mds)
277{

Callers 15

add_update_inodeMethod · 0.80
choose_target_mdsMethod · 0.80
put_cap_refMethod · 0.80
get_capsMethod · 0.80
check_capsMethod · 0.80
queue_cap_snapMethod · 0.80
check_cap_issueMethod · 0.80
handle_cap_truncMethod · 0.80
handle_cap_grantMethod · 0.80
_do_setattrMethod · 0.80
fill_statMethod · 0.80
_readdir_r_cbMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected