| 2393 | } |
| 2394 | |
| 2395 | void Client::put_request(MetaRequest *request) |
| 2396 | { |
| 2397 | ceph_assert(request->ref >= 1); |
| 2398 | if (request->_put()) { |
| 2399 | int op = -1; |
| 2400 | if (request->success) |
| 2401 | op = request->get_op(); |
| 2402 | InodeRef other_in; |
| 2403 | request->take_other_inode(&other_in); |
| 2404 | delete request; |
| 2405 | |
| 2406 | if (other_in && |
| 2407 | (op == CEPH_MDS_OP_RMDIR || |
| 2408 | op == CEPH_MDS_OP_RENAME || |
| 2409 | op == CEPH_MDS_OP_RMSNAP)) { |
| 2410 | _try_to_trim_inode(other_in.get(), false); |
| 2411 | } |
| 2412 | } |
| 2413 | } |
| 2414 | |
| 2415 | int Client::encode_inode_release(Inode *in, MetaRequest *req, |
| 2416 | mds_rank_t mds, int drop, |