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

Method encode_cap_releases

src/client/Client.cc:2489–2518  ·  view source on GitHub ↗

* This requires the MClientRequest *request member to be set. * It will error out horribly without one. * Additionally, if you set any *drop member, you'd better have * set the corresponding dentry! */

Source from the content-addressed store, hash-verified

2487 * set the corresponding dentry!
2488 */
2489void Client::encode_cap_releases(MetaRequest *req, mds_rank_t mds)
2490{
2491 ldout(cct, 20) << __func__ << " enter (req: "
2492 << req << ", mds: " << mds << ")" << dendl;
2493 if (req->inode_drop && req->inode())
2494 encode_inode_release(req->inode(), req,
2495 mds, req->inode_drop,
2496 req->inode_unless);
2497
2498 if (req->old_inode_drop && req->old_inode())
2499 encode_inode_release(req->old_inode(), req,
2500 mds, req->old_inode_drop,
2501 req->old_inode_unless);
2502 if (req->other_inode_drop && req->other_inode())
2503 encode_inode_release(req->other_inode(), req,
2504 mds, req->other_inode_drop,
2505 req->other_inode_unless);
2506
2507 if (req->dentry_drop && req->dentry())
2508 encode_dentry_release(req->dentry(), req,
2509 mds, req->dentry_drop,
2510 req->dentry_unless);
2511
2512 if (req->old_dentry_drop && req->old_dentry())
2513 encode_dentry_release(req->old_dentry(), req,
2514 mds, req->old_dentry_drop,
2515 req->old_dentry_unless);
2516 ldout(cct, 25) << __func__ << " exit (req: "
2517 << req << ", mds " << mds <<dendl;
2518}
2519
2520bool Client::have_open_session(mds_rank_t mds)
2521{

Callers

nothing calls this directly

Calls 5

inodeMethod · 0.80
old_inodeMethod · 0.80
other_inodeMethod · 0.80
old_dentryMethod · 0.80
dentryMethod · 0.45

Tested by

no test coverage detected