]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/.../tri_mutex: use hobject_t for tri_mutex::name debug value
authorSamuel Just <sjust@redhat.com>
Fri, 21 Jun 2024 00:48:04 +0000 (17:48 -0700)
committerSamuel Just <sjust@redhat.com>
Mon, 24 Jun 2024 00:54:03 +0000 (17:54 -0700)
Useful for distinguishing between tri_mutex instances on different clones.

Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/common/tri_mutex.h
src/crimson/osd/object_context.h

index 6dc39656cd362780a1c0260a74c2fdb84b124121..ae7119985bff4302a23eff6191fade680085647e 100644 (file)
@@ -5,6 +5,8 @@
 
 #include <seastar/core/future.hh>
 #include <seastar/core/circular_buffer.hh>
+
+#include "common/hobject.h"
 #include "crimson/common/log.h"
 
 class read_lock {
@@ -45,9 +47,9 @@ class tri_mutex : private read_lock,
 public:
   tri_mutex() = default;
 #ifdef NDEBUG
-  tri_mutex(const std::string obj_name) : name() {}
+  tri_mutex(const hobject_t &obj_name) : name() {}
 #else
-  tri_mutex(const std::string obj_name) : name(obj_name) {}
+  tri_mutex(const hobject_t &obj_name) : name(obj_name) {}
 #endif
   ~tri_mutex();
 
@@ -99,7 +101,7 @@ public:
     }
   }
 
-  std::string_view get_name() const{
+  const hobject_t &get_name() const{
     return name;
   }
 
@@ -122,7 +124,7 @@ private:
     type_t type;
   };
   seastar::circular_buffer<waiter_t> waiters;
-  const std::string name;
+  const hobject_t name;
   friend class read_lock;
   friend class write_lock;
   friend class excl_lock;
index 292ef4d4bde7bd9b5e49b46441060fbe92b82ce0..4148e3b592c030c9582235e686b71c3d66711c21 100644 (file)
@@ -73,7 +73,7 @@ public:
   using watch_key_t = std::pair<uint64_t, entity_name_t>;
   std::map<watch_key_t, seastar::shared_ptr<crimson::osd::Watch>> watchers;
 
-  ObjectContext(hobject_t hoid) : lock(hoid.oid.name),
+  ObjectContext(hobject_t hoid) : lock(hoid),
                                   obs(std::move(hoid)) {}
 
   const hobject_t &get_oid() const {