summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Wilkins <john.wilkins@inktank.com>2013-04-16 13:29:15 -0700
committerJohn Wilkins <john.wilkins@inktank.com>2013-04-16 13:29:15 -0700
commit103fb9b0fbbed300a679d5546a5c920d288e1d5c (patch)
tree5422267d5643c09fff95c7c790f0cb9f230f8113
parentefce39e2219d449c8cf0484bfeb9a5bfefa2e5b2 (diff)
parent02d3c114ab869b0ddc4d26c68e8b9e3391e7ad1b (diff)
downloadceph-103fb9b0fbbed300a679d5546a5c920d288e1d5c.tar.gz
Merge branch 'next' of https://github.com/ceph/ceph into next
-rw-r--r--src/os/FileJournal.cc22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/os/FileJournal.cc b/src/os/FileJournal.cc
index d8a6f5a1a68..6e5f94c64e5 100644
--- a/src/os/FileJournal.cc
+++ b/src/os/FileJournal.cc
@@ -1529,6 +1529,17 @@ void FileJournal::committed_thru(uint64_t seq)
dout(5) << "committed_thru " << seq << " (last_committed_seq " << last_committed_seq << ")" << dendl;
last_committed_seq = seq;
+ // completions!
+ {
+ Mutex::Locker locker(finisher_lock);
+ queue_completions_thru(seq);
+ if (plug_journal_completions && seq >= header.start_seq) {
+ dout(10) << " removing completion plug, queuing completions thru journaled_seq " << journaled_seq << dendl;
+ plug_journal_completions = false;
+ queue_completions_thru(journaled_seq);
+ }
+ }
+
// adjust start pointer
while (!journalq.empty() && journalq.front().first <= seq) {
journalq.pop_front();
@@ -1543,17 +1554,6 @@ void FileJournal::committed_thru(uint64_t seq)
must_write_header = true;
print_header();
- {
- Mutex::Locker locker(finisher_lock);
- // completions!
- queue_completions_thru(seq);
- if (plug_journal_completions && seq >= header.start_seq) {
- dout(10) << " removing completion plug, queuing completions thru journaled_seq " << journaled_seq << dendl;
- plug_journal_completions = false;
- queue_completions_thru(journaled_seq);
- }
- }
-
// committed but unjournaled items
while (!writeq_empty() && peek_write().seq <= seq) {
dout(15) << " dropping committed but unwritten seq " << peek_write().seq