]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/librados/IoCtxImpl.h
update sources to v12.1.0
[ceph.git] / ceph / src / librados / IoCtxImpl.h
index 7870b83171092fc2279b3aad128582e984f61c70..633cf9f7b0b9e2c92d0a1097d23c3e7d8b24419b 100644 (file)
 #ifndef CEPH_LIBRADOS_IOCTXIMPL_H
 #define CEPH_LIBRADOS_IOCTXIMPL_H
 
+#include <atomic>
+
 #include "common/Cond.h"
 #include "common/Mutex.h"
 #include "common/snap_types.h"
 #include "common/zipkin_trace.h"
-#include "include/atomic.h"
 #include "include/types.h"
 #include "include/rados/librados.h"
 #include "include/rados/librados.hpp"
@@ -30,7 +31,7 @@
 class RadosClient;
 
 struct librados::IoCtxImpl {
-  atomic_t ref_cnt;
+  std::atomic<uint64_t> ref_cnt = { 0 };
   RadosClient *client;
   int64_t poolid;
   snapid_t snap_seq;
@@ -69,11 +70,11 @@ struct librados::IoCtxImpl {
   int set_snap_write_context(snapid_t seq, vector<snapid_t>& snaps);
 
   void get() {
-    ref_cnt.inc();
+    ref_cnt++;
   }
 
   void put() {
-    if (ref_cnt.dec() == 0)
+    if (--ref_cnt == 0)
       delete this;
   }