diff options
author | Kefu Chai <kchai@redhat.com> | 2017-07-06 08:07:06 +0200 |
---|---|---|
committer | Kefu Chai <kchai@redhat.com> | 2017-07-06 08:07:29 +0200 |
commit | 797dadc81bde5d91e1bd5941511ddd312ea89eea (patch) | |
tree | 056eefd053692f82e63acc013bc0482a02305dac /src/os/filestore/FileStore.cc | |
parent | Merge pull request #16026 from linuxbox2/wip-tag-timeout-secs (diff) | |
download | ceph-797dadc81bde5d91e1bd5941511ddd312ea89eea.tar.xz ceph-797dadc81bde5d91e1bd5941511ddd312ea89eea.zip |
Revert "os/filestore: move ondisk in front, so that return oncommit earlier, and improve write op performance."
This reverts commit 21f167cf39cc7c025004e9b455ce8ba1252863f0.
Fixes: http://tracker.ceph.com/issues/20524
Signed-off-by: Kefu Chai <kchai@redhat.com>
Diffstat (limited to '')
-rw-r--r-- | src/os/filestore/FileStore.cc | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/os/filestore/FileStore.cc b/src/os/filestore/FileStore.cc index 1d018f3eaf8..b6b809aff9c 100644 --- a/src/os/filestore/FileStore.cc +++ b/src/os/filestore/FileStore.cc @@ -2270,19 +2270,18 @@ void FileStore::_journaled_ahead(OpSequencer *osr, Op *o, Context *ondisk) o->trace.event("writeahead journal finished"); - // do ondisk completions async, to prevent any onreadable_sync completions - // getting blocked behind an ondisk completion. - if (ondisk) { - dout(10) << " queueing ondisk " << ondisk << dendl; - ondisk_finishers[osr->id % m_ondisk_finisher_num]->queue(ondisk); - } - // this should queue in order because the journal does it's completions in order. queue_op(osr, o); list<Context*> to_queue; osr->dequeue_journal(&to_queue); + // do ondisk completions async, to prevent any onreadable_sync completions + // getting blocked behind an ondisk completion. + if (ondisk) { + dout(10) << " queueing ondisk " << ondisk << dendl; + ondisk_finishers[osr->id % m_ondisk_finisher_num]->queue(ondisk); + } if (!to_queue.empty()) { ondisk_finishers[osr->id % m_ondisk_finisher_num]->queue(to_queue); } |