]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/mds/MDSCacheObject.h
update sources to 12.2.10
[ceph.git] / ceph / src / mds / MDSCacheObject.h
index bab2c7de843d7302d091f7441119881aab12c8b4..28c01df44e5b74762ed08169e9a73372cb7b3dec 100644 (file)
@@ -235,7 +235,14 @@ protected:
 
   // --------------------------------------------
   // auth pins
-  virtual bool can_auth_pin() const = 0;
+  enum {
+    // can_auth_pin() error codes
+    ERR_NOT_AUTH = 1,
+    ERR_EXPORTING_TREE,
+    ERR_FRAGMENTING_DIR,
+    ERR_EXPORTING_INODE,
+  };
+  virtual bool can_auth_pin(int *err_code=nullptr) const = 0;
   virtual void auth_pin(void *who) = 0;
   virtual void auth_unpin(void *who) = 0;
   virtual bool is_frozen() const = 0;
@@ -367,7 +374,7 @@ protected:
     }
     if (waiting->empty()) {
       put(PIN_WAITER);
-      waiting.release();
+      waiting.reset();
     }
   }
   void finish_waiting(uint64_t mask, int result = 0);