summaryrefslogtreecommitdiffstats
path: root/src/mds/OpenFileTable.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mds/OpenFileTable.cc')
-rw-r--r--src/mds/OpenFileTable.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mds/OpenFileTable.cc b/src/mds/OpenFileTable.cc
index 4322b6a8a7d..811c6aff8ad 100644
--- a/src/mds/OpenFileTable.cc
+++ b/src/mds/OpenFileTable.cc
@@ -283,6 +283,14 @@ void OpenFileTable::_commit_finish(int r, uint64_t log_seq, MDSContext *fin)
committed_log_seq = log_seq;
num_pending_commit--;
+ {
+ auto last = waiting_for_commit.upper_bound(log_seq);
+ for (auto it = waiting_for_commit.begin(); it != last; it++) {
+ finish_contexts(g_ceph_context, it->second);
+ }
+ waiting_for_commit.erase(waiting_for_commit.begin(), last);
+ }
+
if (fin)
fin->complete(r);
}