#include <seastar/core/future.hh>
#include <seastar/core/circular_buffer.hh>
+
+#include "common/hobject.h"
#include "crimson/common/log.h"
class 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();
}
}
- std::string_view get_name() const{
+ const hobject_t &get_name() const{
return name;
}
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;
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 {