Signed-off-by: Sage Weil <sage@redhat.com>
dirty_big_info = true;
write_if_dirty(t);
- int r = store->apply_transaction(t);
+ ceph::shared_ptr<ObjectStore::Sequencer> osr(
+ new ObjectStore::Sequencer("upgrade"));
+ int r = store->apply_transaction(osr.get(), t);
if (r != 0) {
derr << __func__ << ": apply_transaction returned "
<< cpp_strerror(r) << dendl;
assert(0);
}
assert(r == 0);
+
+ C_SaferCond waiter;
+ if (!osr->flush_commit(&waiter)) {
+ waiter.wait();
+ }
}
#pragma GCC diagnostic pop