]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/mds/MDCache.h
update ceph source to reef 18.2.0
[ceph.git] / ceph / src / mds / MDCache.h
index cb359c8ef4742cc8d210b96155d70722ba61bcba..a99bed72a8f5cdc05c6af23a6f170d889a8b2fc8 100644 (file)
@@ -202,6 +202,19 @@ class MDCache {
   explicit MDCache(MDSRank *m, PurgeQueue &purge_queue_);
   ~MDCache();
 
+  void insert_taken_inos(inodeno_t ino) {
+    replay_taken_inos.insert(ino);
+  }
+  void clear_taken_inos(inodeno_t ino) {
+    replay_taken_inos.erase(ino);
+  }
+  bool test_and_clear_taken_inos(inodeno_t ino) {
+    return replay_taken_inos.erase(ino) != 0;
+  }
+  bool is_taken_inos_empty(void) {
+    return replay_taken_inos.empty();
+  }
+
   uint64_t cache_limit_memory(void) {
     return cache_memory_limit;
   }
@@ -1245,6 +1258,8 @@ class MDCache {
   StrayManager stray_manager;
 
  private:
+  std::set<inodeno_t> replay_taken_inos; // the inos have been taken when replaying
+
   // -- fragmenting --
   struct ufragment {
     ufragment() {}