| 7101 | } |
| 7102 | |
| 7103 | void Client::flush_mdlog_sync(Inode *in) |
| 7104 | { |
| 7105 | if (in->unsafe_ops.empty()) { |
| 7106 | return; |
| 7107 | } |
| 7108 | |
| 7109 | std::set<mds_rank_t> anchor; |
| 7110 | for (auto &&p : in->unsafe_ops) { |
| 7111 | anchor.emplace(p->mds); |
| 7112 | } |
| 7113 | if (in->auth_cap) { |
| 7114 | anchor.emplace(in->auth_cap->session->mds_num); |
| 7115 | } |
| 7116 | |
| 7117 | for (auto &rank : anchor) { |
| 7118 | auto session = &mds_sessions.at(rank); |
| 7119 | flush_mdlog(session->get()); |
| 7120 | } |
| 7121 | } |
| 7122 | |
| 7123 | void Client::flush_mdlog_sync() |
| 7124 | { |