#include "journal/Entry.h"
#include "journal/Utils.h"
+#include <atomic>
+
#define dout_subsys ceph_subsys_journaler
#undef dout_prefix
#define dout_prefix *_dout << "JournalRecorder: " << this << " "
struct C_Flush : public Context {
JournalMetadataPtr journal_metadata;
Context *on_finish;
- atomic_t pending_flushes;
+ std::atomic<int64_t> pending_flushes = { 0 };
int ret_val;
C_Flush(JournalMetadataPtr _journal_metadata, Context *_on_finish,
if (r < 0 && ret_val == 0) {
ret_val = r;
}
- if (pending_flushes.dec() == 0) {
+ if (--pending_flushes == 0) {
// ensure all prior callback have been flushed as well
journal_metadata->queue(on_finish, ret_val);
delete this;
// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
// vim: ts=8 sw=2 smarttab
+#include "include/stringify.h"
+
#include "journal/Journaler.h"
#include "journal/Settings.h"
-#include "include/stringify.h"
-#include "gtest/gtest.h"
+
#include "test/librados/test.h"
#include "test/journal/RadosTestFixture.h"
-#include "include/stringify.h"
+
+#include "gtest/gtest.h"
+
+// reinclude our assert to clobber the system one
+#include "include/assert.h"
class TestJournaler : public RadosTestFixture {
public: