]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd: drop data oid parameter from IO path
authorJason Dillaman <dillaman@redhat.com>
Tue, 7 May 2019 20:49:54 +0000 (16:49 -0400)
committerJason Dillaman <dillaman@redhat.com>
Mon, 13 May 2019 17:30:09 +0000 (13:30 -0400)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
27 files changed:
src/librbd/cache/ObjectCacherObjectDispatch.cc
src/librbd/cache/ObjectCacherObjectDispatch.h
src/librbd/cache/ObjectCacherWriteback.cc
src/librbd/cache/WriteAroundObjectDispatch.cc
src/librbd/cache/WriteAroundObjectDispatch.h
src/librbd/io/CopyupRequest.cc
src/librbd/io/CopyupRequest.h
src/librbd/io/ImageRequest.cc
src/librbd/io/ObjectDispatch.cc
src/librbd/io/ObjectDispatch.h
src/librbd/io/ObjectDispatchInterface.h
src/librbd/io/ObjectDispatchSpec.h
src/librbd/io/ObjectDispatcher.cc
src/librbd/io/ObjectRequest.cc
src/librbd/io/ObjectRequest.h
src/librbd/io/SimpleSchedulerObjectDispatch.cc
src/librbd/io/SimpleSchedulerObjectDispatch.h
src/librbd/journal/ObjectDispatch.cc
src/librbd/journal/ObjectDispatch.h
src/librbd/operation/FlattenRequest.cc
src/librbd/operation/MigrateRequest.cc
src/librbd/operation/TrimRequest.cc
src/test/librbd/cache/test_mock_WriteAroundObjectDispatch.cc
src/test/librbd/io/test_mock_CopyupRequest.cc
src/test/librbd/io/test_mock_ObjectRequest.cc
src/test/librbd/io/test_mock_SimpleSchedulerObjectDispatch.cc
src/test/librbd/mock/io/MockObjectDispatch.h

index e628a5f04dc9a6e5aac04178fbd9e54710f90528..d6e84101046431197b9a8049887d0a02b1bb768d 100644 (file)
@@ -23,6 +23,8 @@
 namespace librbd {
 namespace cache {
 
+using librbd::util::data_object_name;
+
 namespace {
 
 typedef std::vector<ObjectExtent> ObjectExtents;
@@ -178,12 +180,11 @@ void ObjectCacherObjectDispatch<I>::shut_down(Context* on_finish) {
 
 template <typename I>
 bool ObjectCacherObjectDispatch<I>::read(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    uint64_t object_len, librados::snap_t snap_id, int op_flags,
-    const ZTracer::Trace &parent_trace, ceph::bufferlist* read_data,
-    io::ExtentMap* extent_map, int* object_dispatch_flags,
-    io::DispatchResult* dispatch_result, Context** on_finish,
-    Context* on_dispatched) {
+    uint64_t object_no, uint64_t object_off, uint64_t object_len,
+    librados::snap_t snap_id, int op_flags, const ZTracer::Trace &parent_trace,
+    ceph::bufferlist* read_data, io::ExtentMap* extent_map,
+    int* object_dispatch_flags, io::DispatchResult* dispatch_result,
+    Context** on_finish, Context* on_dispatched) {
   // IO chained in reverse order
   auto cct = m_image_ctx->cct;
   ldout(cct, 20) << "object_no=" << object_no << " " << object_off << "~"
@@ -197,7 +198,8 @@ bool ObjectCacherObjectDispatch<I>::read(
   auto rd = m_object_cacher->prepare_read(snap_id, read_data, op_flags);
   m_image_ctx->image_lock.put_read();
 
-  ObjectExtent extent(oid, object_no, object_off, object_len, 0);
+  ObjectExtent extent(data_object_name(m_image_ctx, object_no), object_no,
+                      object_off, object_len, 0);
   extent.oloc.pool = m_image_ctx->data_ctx.get_id();
   extent.buffer_extents.push_back({0, object_len});
   rd->extents.push_back(extent);
@@ -216,8 +218,8 @@ bool ObjectCacherObjectDispatch<I>::read(
 
 template <typename I>
 bool ObjectCacherObjectDispatch<I>::discard(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    uint64_t object_len, const ::SnapContext &snapc, int discard_flags,
+    uint64_t object_no, uint64_t object_off, uint64_t object_len,
+    const ::SnapContext &snapc, int discard_flags,
     const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
     uint64_t* journal_tid, io::DispatchResult* dispatch_result,
     Context** on_finish, Context* on_dispatched) {
@@ -226,7 +228,8 @@ bool ObjectCacherObjectDispatch<I>::discard(
                  << object_len << dendl;
 
   ObjectExtents object_extents;
-  object_extents.emplace_back(oid, object_no, object_off, object_len, 0);
+  object_extents.emplace_back(data_object_name(m_image_ctx, object_no),
+                              object_no, object_off, object_len, 0);
 
   // discard the cache state after changes are committed to disk (and to
   // prevent races w/ readahead)
@@ -257,8 +260,8 @@ bool ObjectCacherObjectDispatch<I>::discard(
 
 template <typename I>
 bool ObjectCacherObjectDispatch<I>::write(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+    uint64_t object_no, uint64_t object_off, ceph::bufferlist&& data,
+    const ::SnapContext &snapc, int op_flags,
     const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
     uint64_t* journal_tid, io::DispatchResult* dispatch_result,
     Context** on_finish, Context* on_dispatched) {
@@ -275,7 +278,8 @@ bool ObjectCacherObjectDispatch<I>::write(
     snapc, data, ceph::real_time::min(), op_flags, *journal_tid);
   m_image_ctx->image_lock.put_read();
 
-  ObjectExtent extent(oid, 0, object_off, data.length(), 0);
+  ObjectExtent extent(data_object_name(m_image_ctx, object_no),
+                      object_no, object_off, data.length(), 0);
   extent.oloc.pool = m_image_ctx->data_ctx.get_id();
   extent.buffer_extents.push_back({0, data.length()});
   wr->extents.push_back(extent);
@@ -291,8 +295,8 @@ bool ObjectCacherObjectDispatch<I>::write(
 
 template <typename I>
 bool ObjectCacherObjectDispatch<I>::write_same(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    uint64_t object_len, io::Extents&& buffer_extents, ceph::bufferlist&& data,
+    uint64_t object_no, uint64_t object_off, uint64_t object_len,
+    io::Extents&& buffer_extents, ceph::bufferlist&& data,
     const ::SnapContext &snapc, int op_flags,
     const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
     uint64_t* journal_tid, io::DispatchResult* dispatch_result,
@@ -302,22 +306,22 @@ bool ObjectCacherObjectDispatch<I>::write_same(
                  << object_len << dendl;
 
   // ObjectCacher doesn't support write-same so convert to regular write
-  ObjectExtent extent(oid, 0, object_off, object_len, 0);
+  ObjectExtent extent(data_object_name(m_image_ctx, object_no), object_no,
+                      object_off, object_len, 0);
   extent.buffer_extents = std::move(buffer_extents);
 
   bufferlist ws_data;
   io::util::assemble_write_same_extent(extent, data, &ws_data, true);
 
-  return write(oid, object_no, object_off, std::move(ws_data), snapc,
-               op_flags, parent_trace, object_dispatch_flags, journal_tid,
+  return write(object_no, object_off, std::move(ws_data), snapc, op_flags,
+               parent_trace, object_dispatch_flags, journal_tid,
                dispatch_result, on_finish, on_dispatched);
 }
 
 template <typename I>
 bool ObjectCacherObjectDispatch<I>::compare_and_write(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    ceph::bufferlist&& cmp_data, ceph::bufferlist&& write_data,
-    const ::SnapContext &snapc, int op_flags,
+    uint64_t object_no, uint64_t object_off, ceph::bufferlist&& cmp_data,
+    ceph::bufferlist&& write_data, const ::SnapContext &snapc, int op_flags,
     const ZTracer::Trace &parent_trace, uint64_t* mismatch_offset,
     int* object_dispatch_flags, uint64_t* journal_tid,
     io::DispatchResult* dispatch_result, Context** on_finish,
@@ -338,8 +342,8 @@ bool ObjectCacherObjectDispatch<I>::compare_and_write(
   *dispatch_result = io::DISPATCH_RESULT_CONTINUE;
 
   ObjectExtents object_extents;
-  object_extents.emplace_back(oid, object_no, object_off, cmp_data.length(),
-                              0);
+  object_extents.emplace_back(data_object_name(m_image_ctx, object_no),
+                              object_no, object_off, cmp_data.length(), 0);
 
   Mutex::Locker cache_locker(m_cache_lock);
   m_object_cacher->flush_set(m_object_set, object_extents, &trace,
index e01c7f700550c6073ca97e40fcd6da5c2aba5f49..3d19023bce43237041c9e8f26ec9d299227b53dc 100644 (file)
@@ -42,39 +42,38 @@ public:
   void shut_down(Context* on_finish) override;
 
   bool read(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, librados::snap_t snap_id, int op_flags,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      librados::snap_t snap_id, int op_flags,
       const ZTracer::Trace &parent_trace, ceph::bufferlist* read_data,
       io::ExtentMap* extent_map, int* object_dispatch_flags,
       io::DispatchResult* dispatch_result, Context** on_finish,
       Context* on_dispatched) override;
 
   bool discard(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, const ::SnapContext &snapc, int discard_flags,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      const ::SnapContext &snapc, int discard_flags,
       const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
       uint64_t* journal_tid, io::DispatchResult* dispatch_result,
       Context** on_finish, Context* on_dispatched) override;
 
   bool write(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+      uint64_t object_no, uint64_t object_off, ceph::bufferlist&& data,
+      const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
       uint64_t* journal_tid, io::DispatchResult* dispatch_result,
       Context** on_finish, Context* on_dispatched) override;
 
   bool write_same(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, io::Extents&& buffer_extents,
-      ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      io::Extents&& buffer_extents, ceph::bufferlist&& data,
+      const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
       uint64_t* journal_tid, io::DispatchResult* dispatch_result,
       Context** on_finish, Context* on_dispatched) override;
 
   bool compare_and_write(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      ceph::bufferlist&& cmp_data, ceph::bufferlist&& write_data,
-      const ::SnapContext &snapc, int op_flags,
+      uint64_t object_no, uint64_t object_off, ceph::bufferlist&& cmp_data,
+      ceph::bufferlist&& write_data, const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, uint64_t* mismatch_offset,
       int* object_dispatch_flags, uint64_t* journal_tid,
       io::DispatchResult* dispatch_result, Context** on_finish,
index b6aed2a7db7f80d4e7cff616e2eaafec3e94af9a..a59203b322089f9970720c574ac6703a559c2079 100644 (file)
@@ -137,8 +137,8 @@ void ObjectCacherWriteback::read(const object_t& oid, uint64_t object_no,
     aio_comp, off, len, {{0, len}});
 
   auto req = io::ObjectDispatchSpec::create_read(
-    m_ictx, io::OBJECT_DISPATCH_LAYER_CACHE, oid.name, object_no, off, len,
-    snapid, op_flags, trace, &req_comp->bl, &req_comp->extent_map, req_comp);
+    m_ictx, io::OBJECT_DISPATCH_LAYER_CACHE, object_no, off, len, snapid,
+    op_flags, trace, &req_comp->bl, &req_comp->extent_map, req_comp);
   req->send();
 }
 
@@ -196,8 +196,8 @@ ceph_tid_t ObjectCacherWriteback::write(const object_t& oid,
   ctx = util::create_async_context_callback(*m_ictx, ctx);
 
   auto req = io::ObjectDispatchSpec::create_write(
-    m_ictx, io::OBJECT_DISPATCH_LAYER_CACHE, oid.name, object_no, off,
-    std::move(bl_copy), snapc, 0, journal_tid, trace, ctx);
+    m_ictx, io::OBJECT_DISPATCH_LAYER_CACHE, object_no, off, std::move(bl_copy),
+    snapc, 0, journal_tid, trace, ctx);
   req->object_dispatch_flags = (
     io::OBJECT_DISPATCH_FLAG_FLUSH |
     io::OBJECT_DISPATCH_FLAG_WILL_RETRY_ON_ERROR);
index 22123dc21634636fd80b525d516b0fcb70f64e0d..2e4380eeb8ba249f31ff964324c51e55fde86f8a 100644 (file)
@@ -18,6 +18,8 @@
 namespace librbd {
 namespace cache {
 
+using librbd::util::data_object_name;
+
 template <typename I>
 WriteAroundObjectDispatch<I>::WriteAroundObjectDispatch(
     I* image_ctx, size_t max_dirty, bool writethrough_until_flush)
@@ -55,26 +57,25 @@ void WriteAroundObjectDispatch<I>::shut_down(Context* on_finish) {
 
 template <typename I>
 bool WriteAroundObjectDispatch<I>::read(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    uint64_t object_len, librados::snap_t snap_id, int op_flags,
-    const ZTracer::Trace &parent_trace, ceph::bufferlist* read_data,
-    io::ExtentMap* extent_map, int* object_dispatch_flags,
-    io::DispatchResult* dispatch_result, Context** on_finish,
-    Context* on_dispatched) {
+    uint64_t object_no, uint64_t object_off, uint64_t object_len,
+    librados::snap_t snap_id, int op_flags, const ZTracer::Trace &parent_trace,
+    ceph::bufferlist* read_data, io::ExtentMap* extent_map,
+    int* object_dispatch_flags, io::DispatchResult* dispatch_result,
+    Context** on_finish, Context* on_dispatched) {
   return dispatch_unoptimized_io(object_no, object_off, object_len,
                                  dispatch_result, on_dispatched);
 }
 
 template <typename I>
 bool WriteAroundObjectDispatch<I>::discard(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    uint64_t object_len, const ::SnapContext &snapc, int discard_flags,
+    uint64_t object_no, uint64_t object_off, uint64_t object_len,
+    const ::SnapContext &snapc, int discard_flags,
     const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
     uint64_t* journal_tid, io::DispatchResult* dispatch_result,
     Context** on_finish, Context* on_dispatched) {
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << "object_no=" << object_no << " " << object_off << "~"
-                 << object_len << dendl;
+  ldout(cct, 20) << data_object_name(m_image_ctx, object_no) << " "
+                 << object_off << "~" << object_len << dendl;
 
   return dispatch_io(object_no, object_off, object_len, 0, dispatch_result,
                      on_finish, on_dispatched);
@@ -82,14 +83,14 @@ bool WriteAroundObjectDispatch<I>::discard(
 
 template <typename I>
 bool WriteAroundObjectDispatch<I>::write(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+    uint64_t object_no, uint64_t object_off, ceph::bufferlist&& data,
+    const ::SnapContext &snapc, int op_flags,
     const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
     uint64_t* journal_tid, io::DispatchResult* dispatch_result,
     Context**on_finish, Context* on_dispatched) {
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << "object_no=" << object_no << " " << object_off << "~"
-                 << data.length() << dendl;
+  ldout(cct, 20) << data_object_name(m_image_ctx, object_no) << " "
+                 << object_off << "~" << data.length() << dendl;
 
   return dispatch_io(object_no, object_off, data.length(), op_flags,
                      dispatch_result, on_finish, on_dispatched);
@@ -97,15 +98,15 @@ bool WriteAroundObjectDispatch<I>::write(
 
 template <typename I>
 bool WriteAroundObjectDispatch<I>::write_same(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    uint64_t object_len, io::Extents&& buffer_extents, ceph::bufferlist&& data,
+    uint64_t object_no, uint64_t object_off, uint64_t object_len,
+    io::Extents&& buffer_extents, ceph::bufferlist&& data,
     const ::SnapContext &snapc, int op_flags,
     const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
     uint64_t* journal_tid, io::DispatchResult* dispatch_result,
     Context**on_finish, Context* on_dispatched) {
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << "object_no=" << object_no << " " << object_off << "~"
-                 << object_len << dendl;
+  ldout(cct, 20) << data_object_name(m_image_ctx, object_no) << " "
+                 << object_off << "~" << object_len << dendl;
 
   return dispatch_io(object_no, object_off, object_len, 0, dispatch_result,
                      on_finish, on_dispatched);
@@ -113,9 +114,8 @@ bool WriteAroundObjectDispatch<I>::write_same(
 
 template <typename I>
 bool WriteAroundObjectDispatch<I>::compare_and_write(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    ceph::bufferlist&& cmp_data, ceph::bufferlist&& write_data,
-    const ::SnapContext &snapc, int op_flags,
+    uint64_t object_no, uint64_t object_off, ceph::bufferlist&& cmp_data,
+    ceph::bufferlist&& write_data, const ::SnapContext &snapc, int op_flags,
     const ZTracer::Trace &parent_trace, uint64_t* mismatch_offset,
     int* object_dispatch_flags, uint64_t* journal_tid,
     io::DispatchResult* dispatch_result, Context** on_finish,
index b9909b9db8fec87edd67dc1dee938f09ace53813..d47e0d0b08127ad42bcbc85d4992ee27defc8751 100644 (file)
@@ -42,39 +42,38 @@ public:
   void shut_down(Context* on_finish) override;
 
   bool read(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, librados::snap_t snap_id, int op_flags,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      librados::snap_t snap_id, int op_flags,
       const ZTracer::Trace &parent_trace, ceph::bufferlist* read_data,
       io::ExtentMap* extent_map, int* object_dispatch_flags,
       io::DispatchResult* dispatch_result, Context** on_finish,
       Context* on_dispatched) override;
 
   bool discard(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, const ::SnapContext &snapc, int discard_flags,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      const ::SnapContext &snapc, int discard_flags,
       const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
       uint64_t* journal_tid, io::DispatchResult* dispatch_result,
       Context**on_finish, Context* on_dispatched) override;
 
   bool write(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+      uint64_t object_no, uint64_t object_off, ceph::bufferlist&& data,
+      const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
       uint64_t* journal_tid, io::DispatchResult* dispatch_result,
       Context**on_finish, Context* on_dispatched) override;
 
   bool write_same(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, io::Extents&& buffer_extents,
-      ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      io::Extents&& buffer_extents, ceph::bufferlist&& data,
+      const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
       uint64_t* journal_tid, io::DispatchResult* dispatch_result,
       Context**on_finish, Context* on_dispatched) override;
 
   bool compare_and_write(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      ceph::bufferlist&& cmp_data, ceph::bufferlist&& write_data,
-      const ::SnapContext &snapc, int op_flags,
+      uint64_t object_no, uint64_t object_off, ceph::bufferlist&& cmp_data,
+      ceph::bufferlist&& write_data, const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, uint64_t* mismatch_offset,
       int* object_dispatch_flags, uint64_t* journal_tid,
       io::DispatchResult* dispatch_result, Context** on_finish,
index 2a49dc7fd0b32aa9b60cea23dc33112feabdc82e..0f410966ad472739cebe087f82b79d8636599929 100644 (file)
 
 #define dout_subsys ceph_subsys_rbd
 #undef dout_prefix
-#define dout_prefix *_dout << "librbd::io::CopyupRequest: " << this \
-                           << " " << __func__ << ": "
+#define dout_prefix *_dout << "librbd::io::CopyupRequest: " << this            \
+                           << " " << __func__ << ": "                          \
+                           << data_object_name(m_image_ctx, m_object_no) << " "
 
 namespace librbd {
 namespace io {
 
+using librbd::util::data_object_name;
+
 namespace {
 
 template <typename I>
@@ -108,11 +111,10 @@ private:
 } // anonymous namespace
 
 template <typename I>
-CopyupRequest<I>::CopyupRequest(I *ictx, const std::string &oid,
-                                uint64_t objectno, Extents &&image_extents,
+CopyupRequest<I>::CopyupRequest(I *ictx, uint64_t objectno,
+                                Extents &&image_extents,
                                 const ZTracer::Trace &parent_trace)
-  : m_image_ctx(ictx), m_oid(oid), m_object_no(objectno),
-    m_image_extents(image_extents),
+  : m_image_ctx(ictx), m_object_no(objectno), m_image_extents(image_extents),
     m_trace(util::create_trace(*m_image_ctx, "copy-up", parent_trace)),
     m_lock("CopyupRequest", false, false)
 {
@@ -130,8 +132,7 @@ void CopyupRequest<I>::append_request(AbstractObjectWriteRequest<I> *req) {
   Mutex::Locker locker(m_lock);
 
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << "oid=" << m_oid << ", "
-                 << "object_request=" << req << ", "
+  ldout(cct, 20) << "object_request=" << req << ", "
                  << "append=" << m_append_request_permitted << dendl;
   if (m_append_request_permitted) {
     m_pending_requests.push_back(req);
@@ -168,8 +169,7 @@ void CopyupRequest<I>::read_from_parent() {
     &CopyupRequest<I>::handle_read_from_parent>(
       this, util::get_image_ctx(m_image_ctx->parent), AIO_TYPE_READ);
 
-  ldout(cct, 20) << "oid=" << m_oid << ", "
-                 << "completion=" << comp << ", "
+  ldout(cct, 20) << "completion=" << comp << ", "
                  << "extents=" << m_image_extents
                  << dendl;
   if (m_image_ctx->enable_sparse_copyup) {
@@ -186,7 +186,7 @@ void CopyupRequest<I>::read_from_parent() {
 template <typename I>
 void CopyupRequest<I>::handle_read_from_parent(int r) {
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << "oid=" << m_oid << ", r=" << r << dendl;
+  ldout(cct, 20) << "r=" << r << dendl;
 
   m_image_ctx->image_lock.get_read();
   m_lock.Lock();
@@ -235,7 +235,7 @@ void CopyupRequest<I>::deep_copy() {
   m_flatten = is_copyup_required() ? true : m_image_ctx->migration_info.flatten;
   m_lock.Unlock();
 
-  ldout(cct, 20) << "oid=" << m_oid << ", flatten=" << m_flatten << dendl;
+  ldout(cct, 20) << "flatten=" << m_flatten << dendl;
 
   auto ctx = util::create_context_callback<
     CopyupRequest<I>, &CopyupRequest<I>::handle_deep_copy>(this);
@@ -249,7 +249,7 @@ void CopyupRequest<I>::deep_copy() {
 template <typename I>
 void CopyupRequest<I>::handle_deep_copy(int r) {
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << "oid=" << m_oid << ", r=" << r << dendl;
+  ldout(cct, 20) << "r=" << r << dendl;
 
   m_image_ctx->image_lock.get_read();
   m_lock.Lock();
@@ -315,7 +315,7 @@ void CopyupRequest<I>::update_object_maps() {
   }
 
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << "oid=" << m_oid << dendl;
+  ldout(cct, 20) << dendl;
 
   bool copy_on_read = m_pending_requests.empty();
   uint8_t head_object_map_state = OBJECT_EXISTS;
@@ -354,7 +354,7 @@ void CopyupRequest<I>::update_object_maps() {
 template <typename I>
 void CopyupRequest<I>::handle_update_object_maps(int r) {
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << "oid=" << m_oid << ", r=" << r << dendl;
+  ldout(cct, 20) << "r=" << r << dendl;
 
   if (r < 0) {
     lderr(m_image_ctx->cct) << "failed to update object map: "
@@ -383,7 +383,7 @@ void CopyupRequest<I>::copyup() {
     return;
   }
 
-  ldout(cct, 20) << "oid=" << m_oid << dendl;
+  ldout(cct, 20) << dendl;
 
   bool copy_on_read = m_pending_requests.empty();
   bool deep_copyup = !snapc.snaps.empty() && !m_copyup_is_zero;
@@ -429,6 +429,7 @@ void CopyupRequest<I>::copyup() {
   m_lock.Unlock();
 
   // issue librados ops at the end to simplify test cases
+  std::string oid(data_object_name(m_image_ctx, m_object_no));
   std::vector<librados::snap_t> snaps;
   if (copyup_op.size() > 0) {
     // send only the copyup request with a blank snapshot context so that
@@ -440,7 +441,7 @@ void CopyupRequest<I>::copyup() {
     auto comp = util::create_rados_callback<
       CopyupRequest<I>, &CopyupRequest<I>::handle_copyup>(this);
     r = m_image_ctx->data_ctx.aio_operate(
-      m_oid, comp, &copyup_op, 0, snaps,
+      oid, comp, &copyup_op, 0, snaps,
       (m_trace.valid() ? m_trace.get_info() : nullptr));
     ceph_assert(r == 0);
     comp->release();
@@ -458,7 +459,7 @@ void CopyupRequest<I>::copyup() {
     auto comp = util::create_rados_callback<
       CopyupRequest<I>, &CopyupRequest<I>::handle_copyup>(this);
     r = m_image_ctx->data_ctx.aio_operate(
-      m_oid, comp, &write_op, snapc.seq, snaps,
+      oid, comp, &write_op, snapc.seq, snaps,
       (m_trace.valid() ? m_trace.get_info() : nullptr));
     ceph_assert(r == 0);
     comp->release();
@@ -475,7 +476,7 @@ void CopyupRequest<I>::handle_copyup(int r) {
     pending_copyups = --m_pending_copyups;
   }
 
-  ldout(cct, 20) << "oid=" << m_oid << ", " << "r=" << r << ", "
+  ldout(cct, 20) << "r=" << r << ", "
                  << "pending=" << pending_copyups << dendl;
 
   if (r < 0 && r != -ENOENT) {
@@ -491,7 +492,7 @@ void CopyupRequest<I>::handle_copyup(int r) {
 template <typename I>
 void CopyupRequest<I>::finish(int r) {
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << "oid=" << m_oid << ", r=" << r << dendl;
+  ldout(cct, 20) << "r=" << r << dendl;
 
   complete_requests(true, r);
   delete this;
index d98d477620836d55181467f265bb2d7fa9cbfe81..25f19e14c31473edeba70ffca40d9830f0009a1d 100644 (file)
@@ -29,15 +29,15 @@ template <typename I> class AbstractObjectWriteRequest;
 template <typename ImageCtxT = librbd::ImageCtx>
 class CopyupRequest {
 public:
-  static CopyupRequest* create(ImageCtxT *ictx, const std::string &oid,
-                               uint64_t objectno, Extents &&image_extents,
+  static CopyupRequest* create(ImageCtxT *ictx, uint64_t objectno,
+                               Extents &&image_extents,
                                const ZTracer::Trace &parent_trace) {
-    return new CopyupRequest(ictx, oid, objectno, std::move(image_extents),
+    return new CopyupRequest(ictx, objectno, std::move(image_extents),
                              parent_trace);
   }
 
-  CopyupRequest(ImageCtxT *ictx, const std::string &oid, uint64_t objectno,
-                Extents &&image_extents, const ZTracer::Trace &parent_trace);
+  CopyupRequest(ImageCtxT *ictx, uint64_t objectno, Extents &&image_extents,
+                const ZTracer::Trace &parent_trace);
   ~CopyupRequest();
 
   void append_request(AbstractObjectWriteRequest<ImageCtxT> *req);
@@ -80,7 +80,6 @@ private:
   typedef std::vector<AbstractObjectWriteRequest<ImageCtxT> *> WriteRequests;
 
   ImageCtxT *m_image_ctx;
-  std::string m_oid;
   uint64_t m_object_no;
   Extents m_image_extents;
   ZTracer::Trace m_trace;
index 50723eef18c1b56534185cc580bf4251557964d5..33bd92b91b9f9ecb2845923029b1227c58a3c20f 100644 (file)
@@ -97,10 +97,9 @@ void readahead(I *ictx, const Extents& image_extents) {
                                                object_extent.offset,
                                                object_extent.length);
         auto req = io::ObjectDispatchSpec::create_read(
-          ictx, io::OBJECT_DISPATCH_LAYER_NONE, object_extent.oid.name,
-          object_extent.objectno, object_extent.offset, object_extent.length,
-          snap_id, 0, {}, &req_comp->read_data, &req_comp->extent_map,
-          req_comp);
+          ictx, io::OBJECT_DISPATCH_LAYER_NONE, object_extent.objectno,
+          object_extent.offset, object_extent.length, snap_id, 0, {},
+          &req_comp->read_data, &req_comp->extent_map, req_comp);
         req->send();
       }
     }
@@ -390,9 +389,9 @@ void ImageReadRequest<I>::send_request() {
         aio_comp, extent.offset, extent.length,
         std::move(extent.buffer_extents));
       auto req = ObjectDispatchSpec::create_read(
-        &image_ctx, OBJECT_DISPATCH_LAYER_NONE, extent.oid.name,
-        extent.objectno, extent.offset, extent.length, snap_id, m_op_flags,
-        this->m_trace, &req_comp->bl, &req_comp->extent_map, req_comp);
+        &image_ctx, OBJECT_DISPATCH_LAYER_NONE, extent.objectno, extent.offset,
+        extent.length, snap_id, m_op_flags, this->m_trace, &req_comp->bl,
+        &req_comp->extent_map, req_comp);
       req->send();
     }
   }
@@ -549,9 +548,9 @@ ObjectDispatchSpec *ImageWriteRequest<I>::create_object_request(
   bufferlist bl;
   assemble_extent(object_extent, &bl);
   auto req = ObjectDispatchSpec::create_write(
-    &image_ctx, OBJECT_DISPATCH_LAYER_NONE, object_extent.oid.name,
-    object_extent.objectno, object_extent.offset, std::move(bl), snapc,
-    m_op_flags, journal_tid, this->m_trace, on_finish);
+    &image_ctx, OBJECT_DISPATCH_LAYER_NONE, object_extent.objectno,
+    object_extent.offset, std::move(bl), snapc, m_op_flags, journal_tid,
+    this->m_trace, on_finish);
   return req;
 }
 
@@ -602,8 +601,8 @@ ObjectDispatchSpec *ImageDiscardRequest<I>::create_object_request(
     uint64_t journal_tid, Context *on_finish) {
   I &image_ctx = this->m_image_ctx;
   auto req = ObjectDispatchSpec::create_discard(
-    &image_ctx, OBJECT_DISPATCH_LAYER_NONE, object_extent.oid.name,
-    object_extent.objectno, object_extent.offset, object_extent.length, snapc,
+    &image_ctx, OBJECT_DISPATCH_LAYER_NONE, object_extent.objectno,
+    object_extent.offset, object_extent.length, snapc,
     OBJECT_DISCARD_FLAG_DISABLE_CLONE_REMOVE, journal_tid, this->m_trace,
     on_finish);
   return req;
@@ -769,16 +768,16 @@ ObjectDispatchSpec *ImageWriteSameRequest<I>::create_object_request(
     Extents buffer_extents{object_extent.buffer_extents};
 
     req = ObjectDispatchSpec::create_write_same(
-      &image_ctx, OBJECT_DISPATCH_LAYER_NONE, object_extent.oid.name,
-      object_extent.objectno, object_extent.offset, object_extent.length,
-      std::move(buffer_extents), std::move(bl), snapc, m_op_flags, journal_tid,
+      &image_ctx, OBJECT_DISPATCH_LAYER_NONE, object_extent.objectno,
+      object_extent.offset, object_extent.length, std::move(buffer_extents),
+      std::move(bl), snapc, m_op_flags, journal_tid,
       this->m_trace, on_finish);
     return req;
   }
   req = ObjectDispatchSpec::create_write(
-    &image_ctx, OBJECT_DISPATCH_LAYER_NONE, object_extent.oid.name,
-    object_extent.objectno, object_extent.offset, std::move(bl), snapc,
-    m_op_flags, journal_tid, this->m_trace, on_finish);
+    &image_ctx, OBJECT_DISPATCH_LAYER_NONE, object_extent.objectno,
+    object_extent.offset, std::move(bl), snapc, m_op_flags, journal_tid,
+    this->m_trace, on_finish);
   return req;
 }
 
@@ -843,10 +842,9 @@ ObjectDispatchSpec *ImageCompareAndWriteRequest<I>::create_object_request(
   bufferlist bl;
   assemble_extent(object_extent, &bl);
   auto req = ObjectDispatchSpec::create_compare_and_write(
-    &image_ctx, OBJECT_DISPATCH_LAYER_NONE, object_extent.oid.name,
-    object_extent.objectno, object_extent.offset, std::move(m_cmp_bl),
-    std::move(bl), snapc, m_mismatch_offset, m_op_flags, journal_tid,
-    this->m_trace, on_finish);
+    &image_ctx, OBJECT_DISPATCH_LAYER_NONE, object_extent.objectno,
+    object_extent.offset, std::move(m_cmp_bl), std::move(bl), snapc,
+    m_mismatch_offset, m_op_flags, journal_tid, this->m_trace, on_finish);
   return req;
 }
 
index 85c8b034ec442c9cc29187b53c34958b14da6b58..422c62ea0a3d4c4f5fd5a621a91c97932bec8a37 100644 (file)
@@ -5,6 +5,7 @@
 #include "common/dout.h"
 #include "common/WorkQueue.h"
 #include "librbd/ImageCtx.h"
+#include "librbd/Utils.h"
 #include "librbd/io/ObjectRequest.h"
 
 #define dout_subsys ceph_subsys_rbd
@@ -15,6 +16,8 @@
 namespace librbd {
 namespace io {
 
+using librbd::util::data_object_name;
+
 template <typename I>
 ObjectDispatch<I>::ObjectDispatch(I* image_ctx)
   : m_image_ctx(image_ctx) {
@@ -30,17 +33,17 @@ void ObjectDispatch<I>::shut_down(Context* on_finish) {
 
 template <typename I>
 bool ObjectDispatch<I>::read(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    uint64_t object_len, librados::snap_t snap_id, int op_flags,
-    const ZTracer::Trace &parent_trace, ceph::bufferlist* read_data,
-    ExtentMap* extent_map, int* object_dispatch_flags,
-    DispatchResult* dispatch_result, Context** on_finish,
-    Context* on_dispatched) {
+    uint64_t object_no, uint64_t object_off, uint64_t object_len,
+    librados::snap_t snap_id, int op_flags, const ZTracer::Trace &parent_trace,
+    ceph::bufferlist* read_data, ExtentMap* extent_map,
+    int* object_dispatch_flags, DispatchResult* dispatch_result,
+    Context** on_finish, Context* on_dispatched) {
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << oid << " " << object_off << "~" << object_len << dendl;
+  ldout(cct, 20) << data_object_name(m_image_ctx, object_no) << " "
+                 << object_off << "~" << object_len << dendl;
 
   *dispatch_result = DISPATCH_RESULT_COMPLETE;
-  auto req = new ObjectReadRequest<I>(m_image_ctx, oid, object_no, object_off,
+  auto req = new ObjectReadRequest<I>(m_image_ctx, object_no, object_off,
                                       object_len, snap_id, op_flags,
                                       parent_trace, read_data, extent_map,
                                       on_dispatched);
@@ -50,35 +53,36 @@ bool ObjectDispatch<I>::read(
 
 template <typename I>
 bool ObjectDispatch<I>::discard(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    uint64_t object_len, const ::SnapContext &snapc, int discard_flags,
+    uint64_t object_no, uint64_t object_off, uint64_t object_len,
+    const ::SnapContext &snapc, int discard_flags,
     const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
     uint64_t* journal_tid, DispatchResult* dispatch_result,
     Context** on_finish, Context* on_dispatched) {
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << oid << " " << object_off << "~" << object_len << dendl;
+  ldout(cct, 20) << data_object_name(m_image_ctx, object_no) << " "
+                 << object_off << "~" << object_len << dendl;
 
   *dispatch_result = DISPATCH_RESULT_COMPLETE;
-  auto req = new ObjectDiscardRequest<I>(m_image_ctx, oid, object_no,
-                                         object_off, object_len, snapc,
-                                         discard_flags, parent_trace,
-                                         on_dispatched);
+  auto req = new ObjectDiscardRequest<I>(m_image_ctx, object_no, object_off,
+                                         object_len, snapc, discard_flags,
+                                         parent_trace, on_dispatched);
   req->send();
   return true;
 }
 
 template <typename I>
 bool ObjectDispatch<I>::write(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+    uint64_t object_no, uint64_t object_off, ceph::bufferlist&& data,
+    const ::SnapContext &snapc, int op_flags,
     const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
     uint64_t* journal_tid, DispatchResult* dispatch_result,
     Context** on_finish, Context* on_dispatched) {
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << oid << " " << object_off << "~" << data.length() << dendl;
+  ldout(cct, 20) << data_object_name(m_image_ctx, object_no) << " "
+                 << object_off << "~" << data.length() << dendl;
 
   *dispatch_result = DISPATCH_RESULT_COMPLETE;
-  auto req = new ObjectWriteRequest<I>(m_image_ctx, oid, object_no, object_off,
+  auto req = new ObjectWriteRequest<I>(m_image_ctx, object_no, object_off,
                                        std::move(data), snapc, op_flags,
                                        parent_trace, on_dispatched);
   req->send();
@@ -87,17 +91,18 @@ bool ObjectDispatch<I>::write(
 
 template <typename I>
 bool ObjectDispatch<I>::write_same(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    uint64_t object_len, Extents&& buffer_extents, ceph::bufferlist&& data,
+    uint64_t object_no, uint64_t object_off, uint64_t object_len,
+    Extents&& buffer_extents, ceph::bufferlist&& data,
     const ::SnapContext &snapc, int op_flags,
     const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
     uint64_t* journal_tid, DispatchResult* dispatch_result,
     Context** on_finish, Context* on_dispatched) {
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << oid << " " << object_off << "~" << object_len << dendl;
+  ldout(cct, 20) << data_object_name(m_image_ctx, object_no) << " "
+                 << object_off << "~" << object_len << dendl;
 
   *dispatch_result = DISPATCH_RESULT_COMPLETE;
-  auto req = new ObjectWriteSameRequest<I>(m_image_ctx, oid, object_no,
+  auto req = new ObjectWriteSameRequest<I>(m_image_ctx, object_no,
                                            object_off, object_len,
                                            std::move(data), snapc, op_flags,
                                            parent_trace, on_dispatched);
@@ -107,19 +112,18 @@ bool ObjectDispatch<I>::write_same(
 
 template <typename I>
 bool ObjectDispatch<I>::compare_and_write(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    ceph::bufferlist&& cmp_data, ceph::bufferlist&& write_data,
-    const ::SnapContext &snapc, int op_flags,
+    uint64_t object_no, uint64_t object_off, ceph::bufferlist&& cmp_data,
+    ceph::bufferlist&& write_data, const ::SnapContext &snapc, int op_flags,
     const ZTracer::Trace &parent_trace, uint64_t* mismatch_offset,
     int* object_dispatch_flags, uint64_t* journal_tid,
     DispatchResult* dispatch_result, Context** on_finish,
     Context* on_dispatched) {
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << oid << " " << object_off << "~" << write_data.length()
-                 << dendl;
+  ldout(cct, 20) << data_object_name(m_image_ctx, object_no) << " "
+                 << object_off << "~" << write_data.length() << dendl;
 
   *dispatch_result = DISPATCH_RESULT_COMPLETE;
-  auto req = new ObjectCompareAndWriteRequest<I>(m_image_ctx, oid, object_no,
+  auto req = new ObjectCompareAndWriteRequest<I>(m_image_ctx, object_no,
                                                  object_off,
                                                  std::move(cmp_data),
                                                  std::move(write_data), snapc,
index 5957b2766113befed123d64f3ac36edf31af9f97..deb688541e9b192f69ce8c3927ba8cc8cd96952d 100644 (file)
@@ -34,39 +34,38 @@ public:
   void shut_down(Context* on_finish) override;
 
   bool read(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, librados::snap_t snap_id, int op_flags,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      librados::snap_t snap_id, int op_flags,
       const ZTracer::Trace &parent_trace, ceph::bufferlist* read_data,
       ExtentMap* extent_map, int* object_dispatch_flags,
       DispatchResult* dispatch_result, Context** on_finish,
       Context* on_dispatched) override;
 
   bool discard(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, const ::SnapContext &snapc, int discard_flags,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      const ::SnapContext &snapc, int discard_flags,
       const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
       uint64_t* journal_tid, DispatchResult* dispatch_result,
       Context** on_finish, Context* on_dispatched) override;
 
   bool write(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+      uint64_t object_no, uint64_t object_off, ceph::bufferlist&& data,
+      const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
       uint64_t* journal_tid, DispatchResult* dispatch_result,
       Context** on_finish, Context* on_dispatched) override;
 
   bool write_same(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, Extents&& buffer_extents, ceph::bufferlist&& data,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      Extents&& buffer_extents, ceph::bufferlist&& data,
       const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
       uint64_t* journal_tid, DispatchResult* dispatch_result,
       Context** on_finish, Context* on_dispatched) override;
 
   bool compare_and_write(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      ceph::bufferlist&& cmp_data, ceph::bufferlist&& write_data,
-      const ::SnapContext &snapc, int op_flags,
+      uint64_t object_no, uint64_t object_off, ceph::bufferlist&& cmp_data,
+      ceph::bufferlist&& write_data, const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, uint64_t* mismatch_offset,
       int* object_dispatch_flags, uint64_t* journal_tid,
       DispatchResult* dispatch_result, Context** on_finish,
index a3d815c9c5f6a172aa9177f02b50c3e414db2944..ee91f9d042c379bbfdf89d2445e1ee77de7f4412 100644 (file)
@@ -28,39 +28,37 @@ struct ObjectDispatchInterface {
   virtual void shut_down(Context* on_finish) = 0;
 
   virtual bool read(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, librados::snap_t snap_id, int op_flags,
-      const ZTracer::Trace &parent_trace, ceph::bufferlist* read_data,
-      ExtentMap* extent_map, int* object_dispatch_flags,
-      DispatchResult* dispatch_result, Context** on_finish,
-      Context* on_dispatched) = 0;
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      librados::snap_t snap_id, int op_flags,const ZTracer::Trace &parent_trace,
+      ceph::bufferlist* read_data, ExtentMap* extent_map,
+      int* object_dispatch_flags, DispatchResult* dispatch_result,
+      Context** on_finish, Context* on_dispatched) = 0;
 
   virtual bool discard(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, const ::SnapContext &snapc, int discard_flags,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      const ::SnapContext &snapc, int discard_flags,
       const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
       uint64_t* journal_tid, DispatchResult* dispatch_result,
       Context**on_finish, Context* on_dispatched) = 0;
 
   virtual bool write(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+      uint64_t object_no, uint64_t object_off, ceph::bufferlist&& data,
+      const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
       uint64_t* journal_tid, DispatchResult* dispatch_result,
       Context**on_finish, Context* on_dispatched) = 0;
 
   virtual bool write_same(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, Extents&& buffer_extents, ceph::bufferlist&& data,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      Extents&& buffer_extents, ceph::bufferlist&& data,
       const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
       uint64_t* journal_tid, DispatchResult* dispatch_result,
       Context**on_finish, Context* on_dispatched) = 0;
 
   virtual bool compare_and_write(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      ceph::bufferlist&& cmp_data, ceph::bufferlist&& write_data,
-      const ::SnapContext &snapc, int op_flags,
+      uint64_t object_no, uint64_t object_off, ceph::bufferlist&& cmp_data,
+      ceph::bufferlist&& write_data, const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, uint64_t* mismatch_offset,
       int* object_dispatch_flags, uint64_t* journal_tid,
       DispatchResult* dispatch_result, Context** on_finish,
index 8580796cfe112d4404bb4bcbbe8b5fbbd4d3bcad..a8c0660422d8a176bf62f4e56082eacea8fc6bbb 100644 (file)
@@ -35,12 +35,11 @@ private:
 
 public:
   struct RequestBase {
-    std::string oid;
     uint64_t object_no;
     uint64_t object_off;
 
-    RequestBase(const std::string& oid, uint64_t object_no, uint64_t object_off)
-      : oid(oid), object_no(object_no), object_off(object_off) {
+    RequestBase(uint64_t object_no, uint64_t object_off)
+      : object_no(object_no), object_off(object_off) {
     }
   };
 
@@ -50,10 +49,10 @@ public:
     ceph::bufferlist* read_data;
     ExtentMap* extent_map;
 
-    ReadRequest(const std::string& oid, uint64_t object_no, uint64_t object_off,
-                uint64_t object_len, librados::snap_t snap_id,
-                ceph::bufferlist* read_data, ExtentMap* extent_map)
-      : RequestBase(oid, object_no, object_off),
+    ReadRequest(uint64_t object_no, uint64_t object_off, uint64_t object_len,
+                librados::snap_t snap_id, ceph::bufferlist* read_data,
+                ExtentMap* extent_map)
+      : RequestBase(object_no, object_off),
         object_len(object_len), snap_id(snap_id), read_data(read_data),
         extent_map(extent_map) {
     }
@@ -63,10 +62,9 @@ public:
     ::SnapContext snapc;
     uint64_t journal_tid;
 
-    WriteRequestBase(const std::string& oid, uint64_t object_no,
-                     uint64_t object_off, const ::SnapContext& snapc,
-                     uint64_t journal_tid)
-      : RequestBase(oid, object_no, object_off), snapc(snapc),
+    WriteRequestBase(uint64_t object_no, uint64_t object_off,
+                     const ::SnapContext& snapc, uint64_t journal_tid)
+      : RequestBase(object_no, object_off), snapc(snapc),
         journal_tid(journal_tid) {
     }
   };
@@ -75,11 +73,10 @@ public:
     uint64_t object_len;
     int discard_flags;
 
-    DiscardRequest(const std::string& oid, uint64_t object_no,
-                   uint64_t object_off, uint64_t object_len,
+    DiscardRequest(uint64_t object_no, uint64_t object_off, uint64_t object_len,
                    int discard_flags, const ::SnapContext& snapc,
                    uint64_t journal_tid)
-      : WriteRequestBase(oid, object_no, object_off, snapc, journal_tid),
+      : WriteRequestBase(object_no, object_off, snapc, journal_tid),
         object_len(object_len), discard_flags(discard_flags) {
     }
   };
@@ -87,10 +84,10 @@ public:
   struct WriteRequest : public WriteRequestBase {
     ceph::bufferlist data;
 
-    WriteRequest(const std::string& oid, uint64_t object_no,
-                 uint64_t object_off, ceph::bufferlist&& data,
-                 const ::SnapContext& snapc, uint64_t journal_tid)
-      : WriteRequestBase(oid, object_no, object_off, snapc, journal_tid),
+    WriteRequest(uint64_t object_no, uint64_t object_off,
+                 ceph::bufferlist&& data, const ::SnapContext& snapc,
+                 uint64_t journal_tid)
+      : WriteRequestBase(object_no, object_off, snapc, journal_tid),
         data(std::move(data)) {
     }
   };
@@ -100,11 +97,11 @@ public:
     Extents buffer_extents;
     ceph::bufferlist data;
 
-    WriteSameRequest(const std::string& oid, uint64_t object_no,
-                     uint64_t object_off, uint64_t object_len,
-                     Extents&& buffer_extents, ceph::bufferlist&& data,
-                     const ::SnapContext& snapc, uint64_t journal_tid)
-    : WriteRequestBase(oid, object_no, object_off, snapc, journal_tid),
+    WriteSameRequest(uint64_t object_no, uint64_t object_off,
+                     uint64_t object_len, Extents&& buffer_extents,
+                     ceph::bufferlist&& data, const ::SnapContext& snapc,
+                     uint64_t journal_tid)
+    : WriteRequestBase(object_no, object_off, snapc, journal_tid),
       object_len(object_len), buffer_extents(std::move(buffer_extents)),
       data(std::move(data)) {
     }
@@ -115,11 +112,11 @@ public:
     ceph::bufferlist data;
     uint64_t* mismatch_offset;
 
-    CompareAndWriteRequest(const std::string& oid, uint64_t object_no,
-                           uint64_t object_off, ceph::bufferlist&& cmp_data,
-                           ceph::bufferlist&& data, uint64_t* mismatch_offset,
+    CompareAndWriteRequest(uint64_t object_no, uint64_t object_off,
+                           ceph::bufferlist&& cmp_data, ceph::bufferlist&& data,
+                           uint64_t* mismatch_offset,
                            const ::SnapContext& snapc, uint64_t journal_tid)
-      : WriteRequestBase(oid, object_no, object_off, snapc, journal_tid),
+      : WriteRequestBase(object_no, object_off, snapc, journal_tid),
         cmp_data(std::move(cmp_data)), data(std::move(data)),
         mismatch_offset(mismatch_offset) {
     }
@@ -155,13 +152,13 @@ public:
   template <typename ImageCtxT>
   static ObjectDispatchSpec* create_read(
       ImageCtxT* image_ctx, ObjectDispatchLayer object_dispatch_layer,
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, librados::snap_t snap_id, int op_flags,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      librados::snap_t snap_id, int op_flags,
       const ZTracer::Trace &parent_trace, ceph::bufferlist* read_data,
       ExtentMap* extent_map, Context* on_finish) {
     return new ObjectDispatchSpec(image_ctx->io_object_dispatcher,
                                   object_dispatch_layer,
-                                  ReadRequest{oid, object_no, object_off,
+                                  ReadRequest{object_no, object_off,
                                               object_len, snap_id, read_data,
                                               extent_map},
                                   op_flags, parent_trace, on_finish);
@@ -170,13 +167,12 @@ public:
   template <typename ImageCtxT>
   static ObjectDispatchSpec* create_discard(
       ImageCtxT* image_ctx, ObjectDispatchLayer object_dispatch_layer,
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, const ::SnapContext &snapc, int discard_flags,
-      uint64_t journal_tid, const ZTracer::Trace &parent_trace,
-      Context *on_finish) {
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      const ::SnapContext &snapc, int discard_flags, uint64_t journal_tid,
+      const ZTracer::Trace &parent_trace, Context *on_finish) {
     return new ObjectDispatchSpec(image_ctx->io_object_dispatcher,
                                   object_dispatch_layer,
-                                  DiscardRequest{oid, object_no, object_off,
+                                  DiscardRequest{object_no, object_off,
                                                  object_len, discard_flags,
                                                  snapc, journal_tid},
                                   0, parent_trace, on_finish);
@@ -185,13 +181,12 @@ public:
   template <typename ImageCtxT>
   static ObjectDispatchSpec* create_write(
       ImageCtxT* image_ctx, ObjectDispatchLayer object_dispatch_layer,
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
-      uint64_t journal_tid, const ZTracer::Trace &parent_trace,
-      Context *on_finish) {
+      uint64_t object_no, uint64_t object_off, ceph::bufferlist&& data,
+      const ::SnapContext &snapc, int op_flags, uint64_t journal_tid,
+      const ZTracer::Trace &parent_trace, Context *on_finish) {
     return new ObjectDispatchSpec(image_ctx->io_object_dispatcher,
                                   object_dispatch_layer,
-                                  WriteRequest{oid, object_no, object_off,
+                                  WriteRequest{object_no, object_off,
                                                std::move(data), snapc,
                                                journal_tid},
                                   op_flags, parent_trace, on_finish);
@@ -200,14 +195,13 @@ public:
   template <typename ImageCtxT>
   static ObjectDispatchSpec* create_write_same(
       ImageCtxT* image_ctx, ObjectDispatchLayer object_dispatch_layer,
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, Extents&& buffer_extents,
-      ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
-      uint64_t journal_tid, const ZTracer::Trace &parent_trace,
-      Context *on_finish) {
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      Extents&& buffer_extents, ceph::bufferlist&& data,
+      const ::SnapContext &snapc, int op_flags, uint64_t journal_tid,
+      const ZTracer::Trace &parent_trace, Context *on_finish) {
     return new ObjectDispatchSpec(image_ctx->io_object_dispatcher,
                                   object_dispatch_layer,
-                                  WriteSameRequest{oid, object_no, object_off,
+                                  WriteSameRequest{object_no, object_off,
                                                    object_len,
                                                    std::move(buffer_extents),
                                                    std::move(data), snapc,
@@ -218,14 +212,13 @@ public:
   template <typename ImageCtxT>
   static ObjectDispatchSpec* create_compare_and_write(
       ImageCtxT* image_ctx, ObjectDispatchLayer object_dispatch_layer,
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      ceph::bufferlist&& cmp_data, ceph::bufferlist&& write_data,
-      const ::SnapContext &snapc, uint64_t *mismatch_offset, int op_flags,
-      uint64_t journal_tid, const ZTracer::Trace &parent_trace,
-      Context *on_finish) {
+      uint64_t object_no, uint64_t object_off, ceph::bufferlist&& cmp_data,
+      ceph::bufferlist&& write_data, const ::SnapContext &snapc,
+      uint64_t *mismatch_offset, int op_flags, uint64_t journal_tid,
+      const ZTracer::Trace &parent_trace, Context *on_finish) {
     return new ObjectDispatchSpec(image_ctx->io_object_dispatcher,
                                   object_dispatch_layer,
-                                  CompareAndWriteRequest{oid, object_no,
+                                  CompareAndWriteRequest{object_no,
                                                          object_off,
                                                          std::move(cmp_data),
                                                          std::move(write_data),
index 6285737a81a9a4c68d259d29bf9595f546209115..5e5d482ff59a00567695556aada949614bff795a 100644 (file)
@@ -107,7 +107,7 @@ struct ObjectDispatcher<I>::SendVisitor : public boost::static_visitor<bool> {
 
   bool operator()(ObjectDispatchSpec::ReadRequest& read) const {
     return object_dispatch->read(
-      read.oid, read.object_no, read.object_off, read.object_len, read.snap_id,
+      read.object_no, read.object_off, read.object_len, read.snap_id,
       object_dispatch_spec->op_flags, object_dispatch_spec->parent_trace,
       read.read_data, read.extent_map,
       &object_dispatch_spec->object_dispatch_flags,
@@ -118,8 +118,8 @@ struct ObjectDispatcher<I>::SendVisitor : public boost::static_visitor<bool> {
 
   bool operator()(ObjectDispatchSpec::DiscardRequest& discard) const {
     return object_dispatch->discard(
-      discard.oid, discard.object_no, discard.object_off, discard.object_len,
-      discard.snapc, discard.discard_flags, object_dispatch_spec->parent_trace,
+      discard.object_no, discard.object_off, discard.object_len, discard.snapc,
+      discard.discard_flags, object_dispatch_spec->parent_trace,
       &object_dispatch_spec->object_dispatch_flags, &discard.journal_tid,
       &object_dispatch_spec->dispatch_result,
       &object_dispatch_spec->dispatcher_ctx.on_finish,
@@ -128,9 +128,8 @@ struct ObjectDispatcher<I>::SendVisitor : public boost::static_visitor<bool> {
 
   bool operator()(ObjectDispatchSpec::WriteRequest& write) const {
     return object_dispatch->write(
-      write.oid, write.object_no, write.object_off, std::move(write.data),
-      write.snapc, object_dispatch_spec->op_flags,
-      object_dispatch_spec->parent_trace,
+      write.object_no, write.object_off, std::move(write.data), write.snapc,
+      object_dispatch_spec->op_flags, object_dispatch_spec->parent_trace,
       &object_dispatch_spec->object_dispatch_flags, &write.journal_tid,
       &object_dispatch_spec->dispatch_result,
       &object_dispatch_spec->dispatcher_ctx.on_finish,
@@ -139,10 +138,10 @@ struct ObjectDispatcher<I>::SendVisitor : public boost::static_visitor<bool> {
 
   bool operator()(ObjectDispatchSpec::WriteSameRequest& write_same) const {
     return object_dispatch->write_same(
-      write_same.oid, write_same.object_no, write_same.object_off,
-      write_same.object_len, std::move(write_same.buffer_extents),
-      std::move(write_same.data), write_same.snapc,
-      object_dispatch_spec->op_flags, object_dispatch_spec->parent_trace,
+      write_same.object_no, write_same.object_off, write_same.object_len,
+      std::move(write_same.buffer_extents), std::move(write_same.data),
+      write_same.snapc, object_dispatch_spec->op_flags,
+      object_dispatch_spec->parent_trace,
       &object_dispatch_spec->object_dispatch_flags, &write_same.journal_tid,
       &object_dispatch_spec->dispatch_result,
       &object_dispatch_spec->dispatcher_ctx.on_finish,
@@ -152,11 +151,10 @@ struct ObjectDispatcher<I>::SendVisitor : public boost::static_visitor<bool> {
   bool operator()(
       ObjectDispatchSpec::CompareAndWriteRequest& compare_and_write) const {
     return object_dispatch->compare_and_write(
-      compare_and_write.oid, compare_and_write.object_no,
-      compare_and_write.object_off, std::move(compare_and_write.cmp_data),
-      std::move(compare_and_write.data), compare_and_write.snapc,
-      object_dispatch_spec->op_flags, object_dispatch_spec->parent_trace,
-      compare_and_write.mismatch_offset,
+      compare_and_write.object_no, compare_and_write.object_off,
+      std::move(compare_and_write.cmp_data), std::move(compare_and_write.data),
+      compare_and_write.snapc, object_dispatch_spec->op_flags,
+      object_dispatch_spec->parent_trace, compare_and_write.mismatch_offset,
       &object_dispatch_spec->object_dispatch_flags,
       &compare_and_write.journal_tid,
       &object_dispatch_spec->dispatch_result,
index 43766b71e0a3dea9a62aa74e432419c3a70453db..1c3ac150885acce7a66652d91a77c1827b5afdcd 100644 (file)
 
 #define dout_subsys ceph_subsys_rbd
 #undef dout_prefix
-#define dout_prefix *_dout << "librbd::io::ObjectRequest: " << this \
-                           << " " << __func__ << ": "
+#define dout_prefix *_dout << "librbd::io::ObjectRequest: " << this           \
+                           << " " << __func__ << ": "                         \
+                           << data_object_name(this->m_ictx,                  \
+                                               this->m_object_no) << " "
 
 namespace librbd {
 namespace io {
 
+using librbd::util::data_object_name;
+
 namespace {
 
 template <typename I>
@@ -47,58 +51,45 @@ inline bool is_copy_on_read(I *ictx, librados::snap_t snap_id) {
 
 template <typename I>
 ObjectRequest<I>*
-ObjectRequest<I>::create_write(I *ictx, const std::string &oid,
-                               uint64_t object_no, uint64_t object_off,
-                               ceph::bufferlist&& data,
-                               const ::SnapContext &snapc, int op_flags,
-                              const ZTracer::Trace &parent_trace,
-                               Context *completion) {
-  return new ObjectWriteRequest<I>(ictx, oid, object_no, object_off,
+ObjectRequest<I>::create_write(
+    I *ictx, uint64_t object_no, uint64_t object_off, ceph::bufferlist&& data,
+    const ::SnapContext &snapc, int op_flags,
+    const ZTracer::Trace &parent_trace, Context *completion) {
+  return new ObjectWriteRequest<I>(ictx, object_no, object_off,
                                    std::move(data), snapc, op_flags,
                                    parent_trace, completion);
 }
 
 template <typename I>
 ObjectRequest<I>*
-ObjectRequest<I>::create_discard(I *ictx, const std::string &oid,
-                                 uint64_t object_no, uint64_t object_off,
-                                 uint64_t object_len,
-                                 const ::SnapContext &snapc,
-                                 int discard_flags,
-                                 const ZTracer::Trace &parent_trace,
-                                 Context *completion) {
-  return new ObjectDiscardRequest<I>(ictx, oid, object_no, object_off,
+ObjectRequest<I>::create_discard(
+    I *ictx, uint64_t object_no, uint64_t object_off, uint64_t object_len,
+    const ::SnapContext &snapc, int discard_flags,
+    const ZTracer::Trace &parent_trace, Context *completion) {
+  return new ObjectDiscardRequest<I>(ictx, object_no, object_off,
                                      object_len, snapc, discard_flags,
                                      parent_trace, completion);
 }
 
 template <typename I>
 ObjectRequest<I>*
-ObjectRequest<I>::create_write_same(I *ictx, const std::string &oid,
-                                   uint64_t object_no, uint64_t object_off,
-                                   uint64_t object_len,
-                                   ceph::bufferlist&& data,
-                                   const ::SnapContext &snapc, int op_flags,
-                                  const ZTracer::Trace &parent_trace,
-                                   Context *completion) {
-  return new ObjectWriteSameRequest<I>(ictx, oid, object_no, object_off,
+ObjectRequest<I>::create_write_same(
+    I *ictx, uint64_t object_no, uint64_t object_off, uint64_t object_len,
+    ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+    const ZTracer::Trace &parent_trace, Context *completion) {
+  return new ObjectWriteSameRequest<I>(ictx, object_no, object_off,
                                        object_len, std::move(data), snapc,
                                        op_flags, parent_trace, completion);
 }
 
 template <typename I>
 ObjectRequest<I>*
-ObjectRequest<I>::create_compare_and_write(I *ictx, const std::string &oid,
-                                           uint64_t object_no,
-                                           uint64_t object_off,
-                                           ceph::bufferlist&& cmp_data,
-                                           ceph::bufferlist&& write_data,
-                                           const ::SnapContext &snapc,
-                                           uint64_t *mismatch_offset,
-                                           int op_flags,
-                                           const ZTracer::Trace &parent_trace,
-                                           Context *completion) {
-  return new ObjectCompareAndWriteRequest<I>(ictx, oid, object_no, object_off,
+ObjectRequest<I>::create_compare_and_write(
+    I *ictx, uint64_t object_no, uint64_t object_off,
+    ceph::bufferlist&& cmp_data, ceph::bufferlist&& write_data,
+    const ::SnapContext &snapc, uint64_t *mismatch_offset, int op_flags,
+    const ZTracer::Trace &parent_trace, Context *completion) {
+  return new ObjectCompareAndWriteRequest<I>(ictx, object_no, object_off,
                                              std::move(cmp_data),
                                              std::move(write_data), snapc,
                                              mismatch_offset, op_flags,
@@ -106,17 +97,16 @@ ObjectRequest<I>::create_compare_and_write(I *ictx, const std::string &oid,
 }
 
 template <typename I>
-ObjectRequest<I>::ObjectRequest(I *ictx, const std::string &oid,
-                                uint64_t objectno, uint64_t off,
-                                uint64_t len, librados::snap_t snap_id,
-                                const char *trace_name,
-                                const ZTracer::Trace &trace,
-                               Context *completion)
-  : m_ictx(ictx), m_oid(oid), m_object_no(objectno), m_object_off(off),
+ObjectRequest<I>::ObjectRequest(
+    I *ictx, uint64_t objectno, uint64_t off, uint64_t len,
+    librados::snap_t snap_id, const char *trace_name,
+    const ZTracer::Trace &trace, Context *completion)
+  : m_ictx(ictx), m_object_no(objectno), m_object_off(off),
     m_object_len(len), m_snap_id(snap_id), m_completion(completion),
     m_trace(util::create_trace(*ictx, "", trace)) {
   if (m_trace.valid()) {
-    m_trace.copy_name(trace_name + std::string(" ") + oid);
+    m_trace.copy_name(trace_name + std::string(" ") +
+                      data_object_name(ictx, objectno));
     m_trace.event("start");
   }
 }
@@ -186,15 +176,11 @@ void ObjectRequest<I>::finish(int r) {
 /** read **/
 
 template <typename I>
-ObjectReadRequest<I>::ObjectReadRequest(I *ictx, const std::string &oid,
-                                        uint64_t objectno, uint64_t offset,
-                                        uint64_t len, librados::snap_t snap_id,
-                                        int op_flags,
-                                        const ZTracer::Trace &parent_trace,
-                                        bufferlist* read_data,
-                                        ExtentMap* extent_map,
-                                        Context *completion)
-  : ObjectRequest<I>(ictx, oid, objectno, offset, len, snap_id, "read",
+ObjectReadRequest<I>::ObjectReadRequest(
+    I *ictx, uint64_t objectno, uint64_t offset, uint64_t len,
+    librados::snap_t snap_id, int op_flags, const ZTracer::Trace &parent_trace,
+    bufferlist* read_data, ExtentMap* extent_map, Context *completion)
+  : ObjectRequest<I>(ictx, objectno, offset, len, snap_id, "read",
                      parent_trace, completion),
     m_op_flags(op_flags), m_read_data(read_data), m_extent_map(extent_map) {
 }
@@ -236,7 +222,8 @@ void ObjectReadRequest<I>::read_object() {
     ObjectReadRequest<I>, &ObjectReadRequest<I>::handle_read_object>(this);
   int flags = image_ctx->get_read_flags(this->m_snap_id);
   int r = image_ctx->data_ctx.aio_operate(
-    this->m_oid, rados_completion, &op, flags, nullptr,
+    data_object_name(this->m_ictx, this->m_object_no), rados_completion, &op,
+    flags, nullptr,
     (this->m_trace.valid() ? this->m_trace.get_info() : nullptr));
   ceph_assert(r == 0);
 
@@ -343,8 +330,7 @@ void ObjectReadRequest<I>::copyup() {
   if (it == image_ctx->copyup_list.end()) {
     // create and kick off a CopyupRequest
     auto new_req = CopyupRequest<I>::create(
-      image_ctx, this->m_oid, this->m_object_no, std::move(parent_extents),
-      this->m_trace);
+      image_ctx, this->m_object_no, std::move(parent_extents), this->m_trace);
 
     image_ctx->copyup_list[this->m_object_no] = new_req;
     image_ctx->copyup_list_lock.Unlock();
@@ -363,11 +349,11 @@ void ObjectReadRequest<I>::copyup() {
 
 template <typename I>
 AbstractObjectWriteRequest<I>::AbstractObjectWriteRequest(
-    I *ictx, const std::string &oid, uint64_t object_no, uint64_t object_off,
-    uint64_t len, const ::SnapContext &snapc, const char *trace_name,
+    I *ictx, uint64_t object_no, uint64_t object_off, uint64_t len,
+    const ::SnapContext &snapc, const char *trace_name,
     const ZTracer::Trace &parent_trace, Context *completion)
-  : ObjectRequest<I>(ictx, oid, object_no, object_off, len, CEPH_NOSNAP,
-                     trace_name, parent_trace, completion),
+  : ObjectRequest<I>(ictx, object_no, object_off, len, CEPH_NOSNAP, trace_name,
+                     parent_trace, completion),
     m_snap_seq(snapc.seq.val)
 {
   m_snaps.insert(m_snaps.end(), snapc.snaps.begin(), snapc.snaps.end());
@@ -412,7 +398,7 @@ void AbstractObjectWriteRequest<I>::add_write_hint(
 template <typename I>
 void AbstractObjectWriteRequest<I>::send() {
   I *image_ctx = this->m_ictx;
-  ldout(image_ctx->cct, 20) << this->get_op_type() << " " << this->m_oid << " "
+  ldout(image_ctx->cct, 20) << this->get_op_type() << " "
                             << this->m_object_off << "~" << this->m_object_len
                             << dendl;
   {
@@ -456,8 +442,8 @@ void AbstractObjectWriteRequest<I>::pre_write_object_map_update() {
   }
 
   uint8_t new_state = this->get_pre_write_object_map_state();
-  ldout(image_ctx->cct, 20) << this->m_oid << " " << this->m_object_off
-                            << "~" << this->m_object_len << dendl;
+  ldout(image_ctx->cct, 20) << this->m_object_off << "~" << this->m_object_len
+                            << dendl;
 
   if (image_ctx->object_map->template aio_update<
         AbstractObjectWriteRequest<I>,
@@ -510,7 +496,8 @@ void AbstractObjectWriteRequest<I>::write_object() {
     AbstractObjectWriteRequest<I>,
     &AbstractObjectWriteRequest<I>::handle_write_object>(this);
   int r = image_ctx->data_ctx.aio_operate(
-    this->m_oid, rados_completion, &write, m_snap_seq, m_snaps,
+    data_object_name(this->m_ictx, this->m_object_no), rados_completion,
+    &write, m_snap_seq, m_snaps,
     (this->m_trace.valid() ? this->m_trace.get_info() : nullptr));
   ceph_assert(r == 0);
   rados_completion->release();
@@ -566,8 +553,8 @@ void AbstractObjectWriteRequest<I>::copyup() {
   auto it = image_ctx->copyup_list.find(this->m_object_no);
   if (it == image_ctx->copyup_list.end()) {
     auto new_req = CopyupRequest<I>::create(
-      image_ctx, this->m_oid, this->m_object_no,
-      std::move(this->m_parent_extents), this->m_trace);
+      image_ctx, this->m_object_no, std::move(this->m_parent_extents),
+      this->m_trace);
     this->m_parent_extents.clear();
 
     // make sure to wait on this CopyupRequest
index 9452ec43acd8cec2a7466361f04928793167ba0d..b9bd134451e2c394e33f6d35c9901fd4177c8cfd 100644 (file)
@@ -34,28 +34,24 @@ template <typename ImageCtxT = ImageCtx>
 class ObjectRequest {
 public:
   static ObjectRequest* create_write(
-      ImageCtxT *ictx, const std::string &oid, uint64_t object_no,
-      uint64_t object_off, ceph::bufferlist&& data, const ::SnapContext &snapc,
-      int op_flags, const ZTracer::Trace &parent_trace, Context *completion);
+      ImageCtxT *ictx, uint64_t object_no, uint64_t object_off,
+      ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+      const ZTracer::Trace &parent_trace, Context *completion);
   static ObjectRequest* create_discard(
-      ImageCtxT *ictx, const std::string &oid, uint64_t object_no,
-      uint64_t object_off, uint64_t object_len, const ::SnapContext &snapc,
-      int discard_flags, const ZTracer::Trace &parent_trace,
-      Context *completion);
-  static ObjectRequest* create_write_same(
-      ImageCtxT *ictx, const std::string &oid, uint64_t object_no,
-      uint64_t object_off, uint64_t object_len, ceph::bufferlist&& data,
-      const ::SnapContext &snapc, int op_flags,
+      ImageCtxT *ictx, uint64_t object_no, uint64_t object_off,
+      uint64_t object_len, const ::SnapContext &snapc, int discard_flags,
       const ZTracer::Trace &parent_trace, Context *completion);
+  static ObjectRequest* create_write_same(
+      ImageCtxT *ictx, uint64_t object_no, uint64_t object_off,
+      uint64_t object_len, ceph::bufferlist&& data, const ::SnapContext &snapc,
+      int op_flags, const ZTracer::Trace &parent_trace, Context *completion);
   static ObjectRequest* create_compare_and_write(
-      ImageCtxT *ictx, const std::string &oid, uint64_t object_no,
-      uint64_t object_off, ceph::bufferlist&& cmp_data,
-      ceph::bufferlist&& write_data, const ::SnapContext &snapc,
-      uint64_t *mismatch_offset, int op_flags,
+      ImageCtxT *ictx, uint64_t object_no, uint64_t object_off,
+      ceph::bufferlist&& cmp_data, ceph::bufferlist&& write_data,
+      const ::SnapContext &snapc, uint64_t *mismatch_offset, int op_flags,
       const ZTracer::Trace &parent_trace, Context *completion);
 
-  ObjectRequest(ImageCtxT *ictx, const std::string &oid,
-                uint64_t objectno, uint64_t off, uint64_t len,
+  ObjectRequest(ImageCtxT *ictx, uint64_t objectno, uint64_t off, uint64_t len,
                 librados::snap_t snap_id, const char *trace_name,
                 const ZTracer::Trace &parent_trace, Context *completion);
   virtual ~ObjectRequest() {
@@ -77,7 +73,6 @@ protected:
   bool compute_parent_extents(Extents *parent_extents, bool read_request);
 
   ImageCtxT *m_ictx;
-  std::string m_oid;
   uint64_t m_object_no, m_object_off, m_object_len;
   librados::snap_t m_snap_id;
   Context *m_completion;
@@ -95,24 +90,21 @@ class ObjectReadRequest : public ObjectRequest<ImageCtxT> {
 public:
   typedef std::map<uint64_t, uint64_t> ExtentMap;
 
-  static ObjectReadRequest* create(ImageCtxT *ictx, const std::string &oid,
-                                   uint64_t objectno, uint64_t offset,
-                                   uint64_t len, librados::snap_t snap_id,
-                                   int op_flags,
-                                   const ZTracer::Trace &parent_trace,
-                                   ceph::bufferlist* read_data,
-                                   ExtentMap* extent_map, Context *completion) {
-    return new ObjectReadRequest(ictx, oid, objectno, offset, len,
+  static ObjectReadRequest* create(
+      ImageCtxT *ictx, uint64_t objectno, uint64_t offset, uint64_t len,
+      librados::snap_t snap_id, int op_flags,
+      const ZTracer::Trace &parent_trace, ceph::bufferlist* read_data,
+      ExtentMap* extent_map, Context *completion) {
+    return new ObjectReadRequest(ictx, objectno, offset, len,
                                  snap_id, op_flags, parent_trace, read_data,
                                  extent_map, completion);
   }
 
-  ObjectReadRequest(ImageCtxT *ictx, const std::string &oid,
-                    uint64_t objectno, uint64_t offset, uint64_t len,
-                    librados::snap_t snap_id, int op_flags,
-                    const ZTracer::Trace &parent_trace,
-                    ceph::bufferlist* read_data, ExtentMap* extent_map,
-                    Context *completion);
+  ObjectReadRequest(
+      ImageCtxT *ictx, uint64_t objectno, uint64_t offset, uint64_t len,
+      librados::snap_t snap_id, int op_flags,
+      const ZTracer::Trace &parent_trace, ceph::bufferlist* read_data,
+      ExtentMap* extent_map, Context *completion);
 
   void send() override;
 
@@ -159,12 +151,10 @@ private:
 template <typename ImageCtxT = ImageCtx>
 class AbstractObjectWriteRequest : public ObjectRequest<ImageCtxT> {
 public:
-  AbstractObjectWriteRequest(ImageCtxT *ictx, const std::string &oid,
-                             uint64_t object_no, uint64_t object_off,
-                             uint64_t len, const ::SnapContext &snapc,
-                            const char *trace_name,
-                            const ZTracer::Trace &parent_trace,
-                             Context *completion);
+  AbstractObjectWriteRequest(
+      ImageCtxT *ictx, uint64_t object_no, uint64_t object_off, uint64_t len,
+      const ::SnapContext &snapc, const char *trace_name,
+      const ZTracer::Trace &parent_trace, Context *completion);
 
   virtual bool is_empty_write_op() const {
     return false;
@@ -264,12 +254,11 @@ private:
 template <typename ImageCtxT = ImageCtx>
 class ObjectWriteRequest : public AbstractObjectWriteRequest<ImageCtxT> {
 public:
-  ObjectWriteRequest(ImageCtxT *ictx, const std::string &oid,
-                     uint64_t object_no, uint64_t object_off,
-                     ceph::bufferlist&& data, const ::SnapContext &snapc,
-                     int op_flags, const ZTracer::Trace &parent_trace,
-                     Context *completion)
-    : AbstractObjectWriteRequest<ImageCtxT>(ictx, oid, object_no, object_off,
+  ObjectWriteRequest(
+      ImageCtxT *ictx, uint64_t object_no, uint64_t object_off,
+      ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+      const ZTracer::Trace &parent_trace, Context *completion)
+    : AbstractObjectWriteRequest<ImageCtxT>(ictx, object_no, object_off,
                                             data.length(), snapc, "write",
                                             parent_trace, completion),
       m_write_data(std::move(data)), m_op_flags(op_flags) {
@@ -294,12 +283,11 @@ private:
 template <typename ImageCtxT = ImageCtx>
 class ObjectDiscardRequest : public AbstractObjectWriteRequest<ImageCtxT> {
 public:
-  ObjectDiscardRequest(ImageCtxT *ictx, const std::string &oid,
-                       uint64_t object_no, uint64_t object_off,
-                       uint64_t object_len, const ::SnapContext &snapc,
-                       int discard_flags, const ZTracer::Trace &parent_trace,
-                       Context *completion)
-    : AbstractObjectWriteRequest<ImageCtxT>(ictx, oid, object_no, object_off,
+  ObjectDiscardRequest(
+      ImageCtxT *ictx, uint64_t object_no, uint64_t object_off,
+      uint64_t object_len, const ::SnapContext &snapc, int discard_flags,
+      const ZTracer::Trace &parent_trace, Context *completion)
+    : AbstractObjectWriteRequest<ImageCtxT>(ictx, object_no, object_off,
                                             object_len, snapc, "discard",
                                             parent_trace, completion),
       m_discard_flags(discard_flags) {
@@ -397,13 +385,11 @@ private:
 template <typename ImageCtxT = ImageCtx>
 class ObjectWriteSameRequest : public AbstractObjectWriteRequest<ImageCtxT> {
 public:
-  ObjectWriteSameRequest(ImageCtxT *ictx, const std::string &oid,
-                        uint64_t object_no, uint64_t object_off,
-                        uint64_t object_len, ceph::bufferlist&& data,
-                         const ::SnapContext &snapc, int op_flags,
-                        const ZTracer::Trace &parent_trace,
-                        Context *completion)
-    : AbstractObjectWriteRequest<ImageCtxT>(ictx, oid, object_no, object_off,
+  ObjectWriteSameRequest(
+      ImageCtxT *ictx, uint64_t object_no, uint64_t object_off,
+      uint64_t object_len, ceph::bufferlist&& data, const ::SnapContext &snapc,
+      int op_flags, const ZTracer::Trace &parent_trace, Context *completion)
+    : AbstractObjectWriteRequest<ImageCtxT>(ictx, object_no, object_off,
                                             object_len, snapc, "writesame",
                                             parent_trace, completion),
       m_write_data(std::move(data)), m_op_flags(op_flags) {
@@ -424,15 +410,12 @@ private:
 template <typename ImageCtxT = ImageCtx>
 class ObjectCompareAndWriteRequest : public AbstractObjectWriteRequest<ImageCtxT> {
 public:
-  ObjectCompareAndWriteRequest(ImageCtxT *ictx, const std::string &oid,
-                               uint64_t object_no, uint64_t object_off,
-                               ceph::bufferlist&& cmp_bl,
-                               ceph::bufferlist&& write_bl,
-                               const ::SnapContext &snapc,
-                               uint64_t *mismatch_offset, int op_flags,
-                               const ZTracer::Trace &parent_trace,
-                               Context *completion)
-   : AbstractObjectWriteRequest<ImageCtxT>(ictx, oid, object_no, object_off,
+  ObjectCompareAndWriteRequest(
+      ImageCtxT *ictx, uint64_t object_no, uint64_t object_off,
+      ceph::bufferlist&& cmp_bl, ceph::bufferlist&& write_bl,
+      const ::SnapContext &snapc, uint64_t *mismatch_offset, int op_flags,
+      const ZTracer::Trace &parent_trace, Context *completion)
+   : AbstractObjectWriteRequest<ImageCtxT>(ictx, object_no, object_off,
                                            cmp_bl.length(), snapc,
                                            "compare_and_write", parent_trace,
                                            completion),
index 49dd68483a383b51cc682dfc1a2d13a0a558e011..b3486e2430aad5e2468e9e7a0586d444687f4c53 100644 (file)
@@ -25,6 +25,7 @@ namespace librbd {
 namespace io {
 
 using namespace boost::accumulators;
+using librbd::util::data_object_name;
 
 static const int LATENCY_STATS_WINDOW_SIZE = 10;
 
@@ -159,8 +160,8 @@ void SimpleSchedulerObjectDispatch<I>::ObjectRequests::dispatch_delayed_requests
 
     auto req = io::ObjectDispatchSpec::create_write(
         image_ctx, io::OBJECT_DISPATCH_LAYER_SCHEDULER,
-        image_ctx->get_object_name(m_object_no), m_object_no, offset,
-        std::move(merged_requests.data), m_snapc, m_op_flags, 0, {}, ctx);
+        m_object_no, offset, std::move(merged_requests.data), m_snapc,
+        m_op_flags, 0, {}, ctx);
 
     req->object_dispatch_flags = m_object_dispatch_flags;
     req->send();
@@ -210,15 +211,14 @@ void SimpleSchedulerObjectDispatch<I>::shut_down(Context* on_finish) {
 
 template <typename I>
 bool SimpleSchedulerObjectDispatch<I>::read(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    uint64_t object_len, librados::snap_t snap_id, int op_flags,
-    const ZTracer::Trace &parent_trace, ceph::bufferlist* read_data,
-    io::ExtentMap* extent_map, int* object_dispatch_flags,
-    io::DispatchResult* dispatch_result, Context** on_finish,
-    Context* on_dispatched) {
+    uint64_t object_no, uint64_t object_off, uint64_t object_len,
+    librados::snap_t snap_id, int op_flags, const ZTracer::Trace &parent_trace,
+    ceph::bufferlist* read_data, io::ExtentMap* extent_map,
+    int* object_dispatch_flags, io::DispatchResult* dispatch_result,
+    Context** on_finish, Context* on_dispatched) {
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << "object_no=" << object_no << " " << object_off << "~"
-                 << object_len << dendl;
+  ldout(cct, 20) << data_object_name(m_image_ctx, object_no) << " "
+                 << object_off << "~" << object_len << dendl;
 
   Mutex::Locker locker(m_lock);
   if (intersects(object_no, object_off, object_len)) {
@@ -230,14 +230,14 @@ bool SimpleSchedulerObjectDispatch<I>::read(
 
 template <typename I>
 bool SimpleSchedulerObjectDispatch<I>::discard(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    uint64_t object_len, const ::SnapContext &snapc, int discard_flags,
+    uint64_t object_no, uint64_t object_off, uint64_t object_len,
+    const ::SnapContext &snapc, int discard_flags,
     const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
     uint64_t* journal_tid, io::DispatchResult* dispatch_result,
     Context** on_finish, Context* on_dispatched) {
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << "object_no=" << object_no << " " << object_off << "~"
-                 << object_len << dendl;
+  ldout(cct, 20) << data_object_name(m_image_ctx, object_no) << " "
+                 << object_off << "~" << object_len << dendl;
 
   Mutex::Locker locker(m_lock);
   dispatch_delayed_requests(object_no);
@@ -248,14 +248,14 @@ bool SimpleSchedulerObjectDispatch<I>::discard(
 
 template <typename I>
 bool SimpleSchedulerObjectDispatch<I>::write(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+    uint64_t object_no, uint64_t object_off, ceph::bufferlist&& data,
+    const ::SnapContext &snapc, int op_flags,
     const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
     uint64_t* journal_tid, io::DispatchResult* dispatch_result,
     Context** on_finish, Context* on_dispatched) {
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << "object_no=" << object_no << " " << object_off << "~"
-                 << data.length() << dendl;
+  ldout(cct, 20) << data_object_name(m_image_ctx, object_no) << " "
+                 << object_off << "~" << data.length() << dendl;
 
   Mutex::Locker locker(m_lock);
   if (try_delay_write(object_no, object_off, std::move(data), snapc, op_flags,
@@ -272,15 +272,15 @@ bool SimpleSchedulerObjectDispatch<I>::write(
 
 template <typename I>
 bool SimpleSchedulerObjectDispatch<I>::write_same(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    uint64_t object_len, io::Extents&& buffer_extents, ceph::bufferlist&& data,
+    uint64_t object_no, uint64_t object_off, uint64_t object_len,
+    io::Extents&& buffer_extents, ceph::bufferlist&& data,
     const ::SnapContext &snapc, int op_flags,
     const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
     uint64_t* journal_tid, io::DispatchResult* dispatch_result,
     Context** on_finish, Context* on_dispatched) {
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << "object_no=" << object_no << " " << object_off << "~"
-                 << object_len << dendl;
+  ldout(cct, 20) << data_object_name(m_image_ctx, object_no) << " "
+                 << object_off << "~" << object_len << dendl;
 
   Mutex::Locker locker(m_lock);
   dispatch_delayed_requests(object_no);
@@ -291,16 +291,15 @@ bool SimpleSchedulerObjectDispatch<I>::write_same(
 
 template <typename I>
 bool SimpleSchedulerObjectDispatch<I>::compare_and_write(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    ceph::bufferlist&& cmp_data, ceph::bufferlist&& write_data,
-    const ::SnapContext &snapc, int op_flags,
+    uint64_t object_no, uint64_t object_off, ceph::bufferlist&& cmp_data,
+    ceph::bufferlist&& write_data, const ::SnapContext &snapc, int op_flags,
     const ZTracer::Trace &parent_trace, uint64_t* mismatch_offset,
     int* object_dispatch_flags, uint64_t* journal_tid,
     io::DispatchResult* dispatch_result, Context** on_finish,
     Context* on_dispatched) {
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << "object_no=" << object_no << " " << object_off << "~"
-                 << cmp_data.length() << dendl;
+  ldout(cct, 20) << data_object_name(m_image_ctx, object_no) << " "
+                 << object_off << "~" << cmp_data.length() << dendl;
 
   Mutex::Locker locker(m_lock);
   dispatch_delayed_requests(object_no);
index 7c0f0c28a7470b84c3136e1f9450fc8ba87ac04f..67fd09ab92d94e0c77e3e03874eea8116b8efec0 100644 (file)
@@ -49,39 +49,38 @@ public:
   void shut_down(Context* on_finish) override;
 
   bool read(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, librados::snap_t snap_id, int op_flags,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      librados::snap_t snap_id, int op_flags,
       const ZTracer::Trace &parent_trace, ceph::bufferlist* read_data,
       io::ExtentMap* extent_map, int* object_dispatch_flags,
       io::DispatchResult* dispatch_result, Context** on_finish,
       Context* on_dispatched) override;
 
   bool discard(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, const ::SnapContext &snapc, int discard_flags,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      const ::SnapContext &snapc, int discard_flags,
       const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
       uint64_t* journal_tid, io::DispatchResult* dispatch_result,
       Context** on_finish, Context* on_dispatched) override;
 
   bool write(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+      uint64_t object_no, uint64_t object_off, ceph::bufferlist&& data,
+      const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
       uint64_t* journal_tid, io::DispatchResult* dispatch_result,
       Context** on_finish, Context* on_dispatched) override;
 
   bool write_same(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, io::Extents&& buffer_extents,
-      ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      io::Extents&& buffer_extents, ceph::bufferlist&& data,
+      const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
       uint64_t* journal_tid, io::DispatchResult* dispatch_result,
       Context** on_finish, Context* on_dispatched) override;
 
   bool compare_and_write(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      ceph::bufferlist&& cmp_data, ceph::bufferlist&& write_data,
-      const ::SnapContext &snapc, int op_flags,
+      uint64_t object_no, uint64_t object_off, ceph::bufferlist&& cmp_data,
+      ceph::bufferlist&& write_data, const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, uint64_t* mismatch_offset,
       int* object_dispatch_flags, uint64_t* journal_tid,
       io::DispatchResult* dispatch_result, Context** on_finish,
index ebe09fe7e195fc227f4e883396be31e5217836bb..5ae95a8acf54091f0da65f5fc91945d30246caaa 100644 (file)
@@ -7,6 +7,7 @@
 #include "osdc/Striper.h"
 #include "librbd/ImageCtx.h"
 #include "librbd/Journal.h"
+#include "librbd/Utils.h"
 #include "librbd/io/ObjectDispatchSpec.h"
 #include "librbd/io/ObjectDispatcher.h"
 
@@ -18,6 +19,8 @@
 namespace librbd {
 namespace journal {
 
+using librbd::util::data_object_name;
+
 namespace {
 
 template <typename I>
@@ -75,8 +78,8 @@ void ObjectDispatch<I>::shut_down(Context* on_finish) {
 
 template <typename I>
 bool ObjectDispatch<I>::discard(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    uint64_t object_len, const ::SnapContext &snapc, int discard_flags,
+    uint64_t object_no, uint64_t object_off, uint64_t object_len,
+    const ::SnapContext &snapc, int discard_flags,
     const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
     uint64_t* journal_tid, io::DispatchResult* dispatch_result,
     Context** on_finish, Context* on_dispatched) {
@@ -86,7 +89,8 @@ bool ObjectDispatch<I>::discard(
   }
 
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << oid << " " << object_off << "~" << object_len << dendl;
+  ldout(cct, 20) << data_object_name(m_image_ctx, object_no) << " "
+                 << object_off << "~" << object_len << dendl;
 
   *on_finish = new C_CommitIOEvent<I>(m_image_ctx, m_journal, object_no,
                                       object_off, object_len, *journal_tid,
@@ -99,8 +103,8 @@ bool ObjectDispatch<I>::discard(
 
 template <typename I>
 bool ObjectDispatch<I>::write(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+    uint64_t object_no, uint64_t object_off, ceph::bufferlist&& data,
+    const ::SnapContext &snapc, int op_flags,
     const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
     uint64_t* journal_tid, io::DispatchResult* dispatch_result,
     Context** on_finish, Context* on_dispatched) {
@@ -110,7 +114,8 @@ bool ObjectDispatch<I>::write(
   }
 
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << oid << " " << object_off << "~" << data.length() << dendl;
+  ldout(cct, 20) << data_object_name(m_image_ctx, object_no) << " "
+                 << object_off << "~" << data.length() << dendl;
 
   *on_finish = new C_CommitIOEvent<I>(m_image_ctx, m_journal, object_no,
                                       object_off, data.length(), *journal_tid,
@@ -123,8 +128,8 @@ bool ObjectDispatch<I>::write(
 
 template <typename I>
 bool ObjectDispatch<I>::write_same(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    uint64_t object_len, io::Extents&& buffer_extents, ceph::bufferlist&& data,
+    uint64_t object_no, uint64_t object_off, uint64_t object_len,
+    io::Extents&& buffer_extents, ceph::bufferlist&& data,
     const ::SnapContext &snapc, int op_flags,
     const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
     uint64_t* journal_tid, io::DispatchResult* dispatch_result,
@@ -135,7 +140,8 @@ bool ObjectDispatch<I>::write_same(
   }
 
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << oid << " " << object_off << "~" << object_len << dendl;
+  ldout(cct, 20) << data_object_name(m_image_ctx, object_no) << " "
+                 << object_off << "~" << object_len << dendl;
 
   *on_finish = new C_CommitIOEvent<I>(m_image_ctx, m_journal, object_no,
                                       object_off, object_len, *journal_tid,
@@ -148,9 +154,8 @@ bool ObjectDispatch<I>::write_same(
 
 template <typename I>
 bool ObjectDispatch<I>::compare_and_write(
-    const std::string &oid, uint64_t object_no, uint64_t object_off,
-    ceph::bufferlist&& cmp_data, ceph::bufferlist&& write_data,
-    const ::SnapContext &snapc, int op_flags,
+    uint64_t object_no, uint64_t object_off, ceph::bufferlist&& cmp_data,
+    ceph::bufferlist&& write_data, const ::SnapContext &snapc, int op_flags,
     const ZTracer::Trace &parent_trace, uint64_t* mismatch_offset,
     int* object_dispatch_flags, uint64_t* journal_tid,
     io::DispatchResult* dispatch_result, Context** on_finish,
@@ -161,7 +166,8 @@ bool ObjectDispatch<I>::compare_and_write(
   }
 
   auto cct = m_image_ctx->cct;
-  ldout(cct, 20) << oid << " " << object_off << "~" << write_data.length()
+  ldout(cct, 20) << data_object_name(m_image_ctx, object_no) << " "
+                 << object_off << "~" << write_data.length()
                  << dendl;
 
   *on_finish = new C_CommitIOEvent<I>(m_image_ctx, m_journal, object_no,
index d58c3f9e53d806bec7c937f3ec69f7f8e375fd5a..fe3e22f5ff24156992157c7a119645708fba4ac0 100644 (file)
@@ -38,8 +38,8 @@ public:
   void shut_down(Context* on_finish) override;
 
   bool read(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, librados::snap_t snap_id, int op_flags,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      librados::snap_t snap_id, int op_flags,
       const ZTracer::Trace &parent_trace, ceph::bufferlist* read_data,
       io::ExtentMap* extent_map, int* object_dispatch_flags,
       io::DispatchResult* dispatch_result, Context** on_finish,
@@ -48,31 +48,30 @@ public:
   }
 
   bool discard(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, const ::SnapContext &snapc, int discard_flags,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      const ::SnapContext &snapc, int discard_flags,
       const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
       uint64_t* journal_tid, io::DispatchResult* dispatch_result,
       Context** on_finish, Context* on_dispatched) override;
 
   bool write(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+      uint64_t object_no, uint64_t object_off, ceph::bufferlist&& data,
+      const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
       uint64_t* journal_tid, io::DispatchResult* dispatch_result,
       Context** on_finish, Context* on_dispatched) override;
 
   bool write_same(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, io::Extents&& buffer_extents,
-      ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      io::Extents&& buffer_extents, ceph::bufferlist&& data,
+      const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, int* object_dispatch_flags,
       uint64_t* journal_tid, io::DispatchResult* dispatch_result,
       Context** on_finish, Context* on_dispatched) override;
 
   bool compare_and_write(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      ceph::bufferlist&& cmp_data, ceph::bufferlist&& write_data,
-      const ::SnapContext &snapc, int op_flags,
+      uint64_t object_no, uint64_t object_off, ceph::bufferlist&& cmp_data,
+      ceph::bufferlist&& write_data, const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, uint64_t* mismatch_offset,
       int* object_dispatch_flags, uint64_t* journal_tid,
       io::DispatchResult* dispatch_result, Context** on_finish,
index 268d244d995185304ed318f8bb74911e71a0acb8..59dc8b558cf08f5bb2ca219673aee9c137595bb8 100644 (file)
@@ -55,8 +55,7 @@ public:
     }
 
     bufferlist bl;
-    string oid = image_ctx.get_object_name(m_object_no);
-    auto req = new io::ObjectWriteRequest<I>(&image_ctx, oid, m_object_no, 0,
+    auto req = new io::ObjectWriteRequest<I>(&image_ctx, m_object_no, 0,
                                              std::move(bl), m_snapc, 0, {},
                                              this);
     if (!req->has_parent()) {
index 9be157cdf5a6a9a9ac57bb8d102b98a25334c8e3..9f698f7e1aa2b54a70a0b8663c8827b2acd7f0a6 100644 (file)
@@ -118,8 +118,7 @@ private:
 
     if (is_within_overlap_bounds()) {
       bufferlist bl;
-      string oid = image_ctx.get_object_name(m_object_no);
-      auto req = new io::ObjectWriteRequest<I>(&image_ctx, oid, m_object_no, 0,
+      auto req = new io::ObjectWriteRequest<I>(&image_ctx, m_object_no, 0,
                                                std::move(bl), m_snapc, 0, {},
                                                ctx);
 
index 1b260953ea41abc1d46338f9a3b11a31cefd182e..ab7f31192092ca69a6db56552b5793d64a791bc0 100644 (file)
@@ -47,7 +47,7 @@ public:
     ldout(image_ctx.cct, 10) << "removing (with copyup) " << oid << dendl;
 
     auto object_dispatch_spec = io::ObjectDispatchSpec::create_discard(
-      &image_ctx, io::OBJECT_DISPATCH_LAYER_NONE, oid, m_object_no, 0,
+      &image_ctx, io::OBJECT_DISPATCH_LAYER_NONE, m_object_no, 0,
       image_ctx.layout.object_size, m_snapc,
       io::OBJECT_DISCARD_FLAG_DISABLE_OBJECT_MAP_UPDATE, 0, {}, this);
     object_dispatch_spec->send();
@@ -346,8 +346,8 @@ void TrimRequest<I>::send_clean_boundary() {
     }
 
     auto object_dispatch_spec = io::ObjectDispatchSpec::create_discard(
-      &image_ctx, io::OBJECT_DISPATCH_LAYER_NONE, p->oid.name, p->objectno,
-      p->offset, p->length, snapc, 0, 0, {}, req_comp);
+      &image_ctx, io::OBJECT_DISPATCH_LAYER_NONE, p->objectno, p->offset,
+      p->length, snapc, 0, 0, {}, req_comp);
     object_dispatch_spec->send();
   }
   completion->finish_adding_requests();
index 611109fcc47a4bd35109454e51132a051cc24808..ee7cfc5fd3911a8aacaa9d0a52ca9b65047377be 100644 (file)
@@ -72,7 +72,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, WriteThrough) {
   MockContext finish_ctx;
   MockContext dispatch_ctx;
   Context* finish_ctx_ptr = &finish_ctx;
-  ASSERT_FALSE(object_dispatch.write("oid", 0, 0, std::move(data), {}, 0, {},
+  ASSERT_FALSE(object_dispatch.write(0, 0, std::move(data), {}, 0, {},
                                      nullptr, nullptr, &dispatch_result,
                                      &finish_ctx_ptr, &dispatch_ctx));
   ASSERT_EQ(finish_ctx_ptr, &finish_ctx);
@@ -95,7 +95,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, WriteThroughUntilFlushed) {
   MockContext finish_ctx;
   MockContext dispatch_ctx;
   Context* finish_ctx_ptr = &finish_ctx;
-  ASSERT_FALSE(object_dispatch.write("oid", 0, 0, std::move(data), {}, 0, {},
+  ASSERT_FALSE(object_dispatch.write(0, 0, std::move(data), {}, 0, {},
                                      nullptr, nullptr, &dispatch_result,
                                      &finish_ctx_ptr, &dispatch_ctx));
   ASSERT_EQ(finish_ctx_ptr, &finish_ctx);
@@ -107,7 +107,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, WriteThroughUntilFlushed) {
   expect_context_complete(dispatch_ctx, 0);
   expect_context_complete(finish_ctx, 0);
 
-  ASSERT_TRUE(object_dispatch.write("oid", 0, 0, std::move(data), {}, 0, {},
+  ASSERT_TRUE(object_dispatch.write(0, 0, std::move(data), {}, 0, {},
                                      nullptr, nullptr, &dispatch_result,
                                      &finish_ctx_ptr, &dispatch_ctx));
   ASSERT_EQ(io::DISPATCH_RESULT_CONTINUE, dispatch_result);
@@ -138,7 +138,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, DispatchIO) {
   expect_context_complete(dispatch_ctx, 0);
   expect_context_complete(finish_ctx, 0);
 
-  ASSERT_TRUE(object_dispatch.write("oid", 0, 0, std::move(data), {}, 0, {},
+  ASSERT_TRUE(object_dispatch.write(0, 0, std::move(data), {}, 0, {},
                                     nullptr, nullptr, &dispatch_result,
                                     &finish_ctx_ptr, &dispatch_ctx));
   ASSERT_EQ(io::DISPATCH_RESULT_CONTINUE, dispatch_result);
@@ -170,7 +170,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, BlockedIO) {
   expect_context_complete(dispatch_ctx1, 0);
   expect_context_complete(finish_ctx1, 0);
 
-  ASSERT_TRUE(object_dispatch.write("oid", 0, 0, std::move(data), {}, 0, {},
+  ASSERT_TRUE(object_dispatch.write(0, 0, std::move(data), {}, 0, {},
                                     nullptr, nullptr, &dispatch_result,
                                     &finish_ctx_ptr1, &dispatch_ctx1));
   ASSERT_EQ(io::DISPATCH_RESULT_CONTINUE, dispatch_result);
@@ -183,7 +183,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, BlockedIO) {
   expect_context_complete(dispatch_ctx2, 0);
   expect_context_complete(finish_ctx2, 0);
 
-  ASSERT_TRUE(object_dispatch.write("oid", 0, 4096, std::move(data), {}, 0, {},
+  ASSERT_TRUE(object_dispatch.write(0, 4096, std::move(data), {}, 0, {},
                                     nullptr, nullptr, &dispatch_result,
                                     &finish_ctx_ptr2, &dispatch_ctx2));
   ASSERT_EQ(io::DISPATCH_RESULT_CONTINUE, dispatch_result);
@@ -193,7 +193,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, BlockedIO) {
   MockContext dispatch_ctx3;
   Context* finish_ctx_ptr3 = &finish_ctx3;
 
-  ASSERT_TRUE(object_dispatch.write("oid", 0, 1024, std::move(data), {}, 0,
+  ASSERT_TRUE(object_dispatch.write(0, 1024, std::move(data), {}, 0,
                                     {}, nullptr, nullptr, &dispatch_result,
                                     &finish_ctx_ptr3, &dispatch_ctx3));
   ASSERT_EQ(io::DISPATCH_RESULT_CONTINUE, dispatch_result);
@@ -235,7 +235,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, QueuedIO) {
   expect_context_complete(dispatch_ctx1, 0);
   expect_context_complete(finish_ctx1, 0);
 
-  ASSERT_TRUE(object_dispatch.write("oid", 0, 0, std::move(data), {}, 0, {},
+  ASSERT_TRUE(object_dispatch.write(0, 0, std::move(data), {}, 0, {},
                                     nullptr, nullptr, &dispatch_result,
                                     &finish_ctx_ptr1, &dispatch_ctx1));
   ASSERT_EQ(io::DISPATCH_RESULT_CONTINUE, dispatch_result);
@@ -245,7 +245,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, QueuedIO) {
   MockContext dispatch_ctx2;
   Context* finish_ctx_ptr2 = &finish_ctx2;
 
-  ASSERT_TRUE(object_dispatch.write("oid", 0, 8192, std::move(data), {}, 0, {},
+  ASSERT_TRUE(object_dispatch.write(0, 8192, std::move(data), {}, 0, {},
                                     nullptr, nullptr, &dispatch_result,
                                     &finish_ctx_ptr2, &dispatch_ctx2));
   ASSERT_EQ(io::DISPATCH_RESULT_CONTINUE, dispatch_result);
@@ -283,7 +283,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, BlockedAndQueuedIO) {
   expect_context_complete(dispatch_ctx1, 0);
   expect_context_complete(finish_ctx1, 0);
 
-  ASSERT_TRUE(object_dispatch.write("oid", 0, 0, std::move(data), {}, 0, {},
+  ASSERT_TRUE(object_dispatch.write(0, 0, std::move(data), {}, 0, {},
                                     nullptr, nullptr, &dispatch_result,
                                     &finish_ctx_ptr1, &dispatch_ctx1));
   ASSERT_EQ(io::DISPATCH_RESULT_CONTINUE, dispatch_result);
@@ -296,7 +296,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, BlockedAndQueuedIO) {
   expect_context_complete(dispatch_ctx2, 0);
   expect_context_complete(finish_ctx2, 0);
 
-  ASSERT_TRUE(object_dispatch.write("oid", 0, 4096, std::move(data), {}, 0, {},
+  ASSERT_TRUE(object_dispatch.write(0, 4096, std::move(data), {}, 0, {},
                                     nullptr, nullptr, &dispatch_result,
                                     &finish_ctx_ptr2, &dispatch_ctx2));
   ASSERT_EQ(io::DISPATCH_RESULT_CONTINUE, dispatch_result);
@@ -306,7 +306,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, BlockedAndQueuedIO) {
   MockContext dispatch_ctx3;
   Context* finish_ctx_ptr3 = &finish_ctx3;
 
-  ASSERT_TRUE(object_dispatch.write("oid", 0, 0, std::move(data), {}, 0,
+  ASSERT_TRUE(object_dispatch.write(0, 0, std::move(data), {}, 0,
                                     {}, nullptr, nullptr, &dispatch_result,
                                     &finish_ctx_ptr3, &dispatch_ctx3));
   ASSERT_EQ(io::DISPATCH_RESULT_CONTINUE, dispatch_result);
@@ -368,7 +368,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, FlushQueuedOnInFlightIO) {
   expect_context_complete(dispatch_ctx1, 0);
   expect_context_complete(finish_ctx1, 0);
 
-  ASSERT_TRUE(object_dispatch.write("oid", 0, 0, std::move(data), {}, 0, {},
+  ASSERT_TRUE(object_dispatch.write(0, 0, std::move(data), {}, 0, {},
                                     nullptr, nullptr, &dispatch_result,
                                     &finish_ctx_ptr1, &dispatch_ctx1));
   ASSERT_EQ(io::DISPATCH_RESULT_CONTINUE, dispatch_result);
@@ -413,7 +413,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, FlushQueuedOnQueuedIO) {
   expect_context_complete(dispatch_ctx1, 0);
   expect_context_complete(finish_ctx1, 0);
 
-  ASSERT_TRUE(object_dispatch.write("oid", 0, 0, std::move(data), {}, 0, {},
+  ASSERT_TRUE(object_dispatch.write(0, 0, std::move(data), {}, 0, {},
                                     nullptr, nullptr, &dispatch_result,
                                     &finish_ctx_ptr1, &dispatch_ctx1));
   ASSERT_EQ(io::DISPATCH_RESULT_CONTINUE, dispatch_result);
@@ -424,7 +424,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, FlushQueuedOnQueuedIO) {
   MockContext dispatch_ctx2;
   Context* finish_ctx_ptr2 = &finish_ctx2;
 
-  ASSERT_TRUE(object_dispatch.write("oid", 0, 8192, std::move(data), {}, 0, {},
+  ASSERT_TRUE(object_dispatch.write(0, 8192, std::move(data), {}, 0, {},
                                     nullptr, nullptr, &dispatch_result,
                                     &finish_ctx_ptr2, &dispatch_ctx2));
   ASSERT_EQ(io::DISPATCH_RESULT_CONTINUE, dispatch_result);
@@ -477,7 +477,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, FlushError) {
   expect_context_complete(dispatch_ctx1, 0);
   expect_context_complete(finish_ctx1, 0);
 
-  ASSERT_TRUE(object_dispatch.write("oid", 0, 0, std::move(data), {}, 0, {},
+  ASSERT_TRUE(object_dispatch.write(0, 0, std::move(data), {}, 0, {},
                                     nullptr, nullptr, &dispatch_result,
                                     &finish_ctx_ptr1, &dispatch_ctx1));
   ASSERT_EQ(io::DISPATCH_RESULT_CONTINUE, dispatch_result);
@@ -517,7 +517,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, UnoptimizedIO) {
   MockContext dispatch_ctx;
   Context* finish_ctx_ptr = &finish_ctx;
 
-  ASSERT_FALSE(object_dispatch.compare_and_write("oid", 0, 0, std::move(data),
+  ASSERT_FALSE(object_dispatch.compare_and_write(0, 0, std::move(data),
                                                  std::move(data), {}, 0, {},
                                                  nullptr, nullptr, nullptr,
                                                  &dispatch_result,
@@ -547,7 +547,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, UnoptimizedIOInFlightIO) {
   expect_context_complete(dispatch_ctx1, 0);
   expect_context_complete(finish_ctx1, 0);
 
-  ASSERT_TRUE(object_dispatch.write("oid", 0, 0, std::move(data), {}, 0, {},
+  ASSERT_TRUE(object_dispatch.write(0, 0, std::move(data), {}, 0, {},
                                     nullptr, nullptr, &dispatch_result,
                                     &finish_ctx_ptr1, &dispatch_ctx1));
   ASSERT_EQ(io::DISPATCH_RESULT_CONTINUE, dispatch_result);
@@ -558,7 +558,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, UnoptimizedIOInFlightIO) {
   MockContext finish_ctx2;
   MockContext dispatch_ctx2;
   Context* finish_ctx_ptr2 = &finish_ctx2;
-  ASSERT_TRUE(object_dispatch.compare_and_write("oid", 0, 0, std::move(data),
+  ASSERT_TRUE(object_dispatch.compare_and_write(0, 0, std::move(data),
                                                 std::move(data), {}, 0, {},
                                                 nullptr, nullptr, nullptr,
                                                 &dispatch_result,
@@ -593,7 +593,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, UnoptimizedIOBlockedIO) {
   expect_context_complete(dispatch_ctx1, 0);
   expect_context_complete(finish_ctx1, 0);
 
-  ASSERT_TRUE(object_dispatch.write("oid", 0, 0, std::move(data), {}, 0, {},
+  ASSERT_TRUE(object_dispatch.write(0, 0, std::move(data), {}, 0, {},
                                     nullptr, nullptr, &dispatch_result,
                                     &finish_ctx_ptr1, &dispatch_ctx1));
   ASSERT_EQ(io::DISPATCH_RESULT_CONTINUE, dispatch_result);
@@ -604,7 +604,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, UnoptimizedIOBlockedIO) {
   MockContext finish_ctx2;
   MockContext dispatch_ctx2;
   Context* finish_ctx_ptr2 = &finish_ctx2;
-  ASSERT_TRUE(object_dispatch.write("oid", 0, 4096, std::move(data), {}, 0, {},
+  ASSERT_TRUE(object_dispatch.write(0, 4096, std::move(data), {}, 0, {},
                                     nullptr, nullptr, &dispatch_result,
                                     &finish_ctx_ptr2, &dispatch_ctx2));
   ASSERT_EQ(io::DISPATCH_RESULT_CONTINUE, dispatch_result);
@@ -613,7 +613,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, UnoptimizedIOBlockedIO) {
   MockContext finish_ctx3;
   MockContext dispatch_ctx3;
   Context* finish_ctx_ptr3 = &finish_ctx3;
-  ASSERT_TRUE(object_dispatch.compare_and_write("oid", 0, 0, std::move(data),
+  ASSERT_TRUE(object_dispatch.compare_and_write(0, 0, std::move(data),
                                                 std::move(data), {}, 0, {},
                                                 nullptr, nullptr, nullptr,
                                                 &dispatch_result,
@@ -648,7 +648,7 @@ TEST_F(TestMockCacheWriteAroundObjectDispatch, FUA) {
   MockContext finish_ctx;
   MockContext dispatch_ctx;
   Context* finish_ctx_ptr = &finish_ctx;
-  ASSERT_FALSE(object_dispatch.write("oid", 0, 0, std::move(data), {},
+  ASSERT_FALSE(object_dispatch.write(0, 0, std::move(data), {},
                                      LIBRADOS_OP_FLAG_FADVISE_FUA, {},
                                      nullptr, nullptr, &dispatch_result,
                                      &finish_ctx_ptr, &dispatch_ctx));
index 10c8ee0cf4bd6169cb2b78d29f1310547993d6a0..d5d1ca36b86e74f729e390d1533c36ebc144fe9f 100644 (file)
@@ -373,11 +373,11 @@ TEST_F(TestMockIoCopyupRequest, Standard) {
                            0);
 
   expect_add_copyup_ops(mock_write_request);
-  expect_sparse_copyup(mock_image_ctx, CEPH_NOSNAP, "oid", {{0, 4096}}, data,
-                       0);
-  expect_write(mock_image_ctx, CEPH_NOSNAP, "oid", 0);
+  expect_sparse_copyup(mock_image_ctx, CEPH_NOSNAP, ictx->get_object_name(0),
+                       {{0, 4096}}, data, 0);
+  expect_write(mock_image_ctx, CEPH_NOSNAP, ictx->get_object_name(0), 0);
 
-  auto req = new MockCopyupRequest(&mock_image_ctx, "oid", 0,
+  auto req = new MockCopyupRequest(&mock_image_ctx, 0,
                                    {{0, 4096}}, {});
   mock_image_ctx.copyup_list[0] = req;
   req->append_request(&mock_write_request);
@@ -431,10 +431,11 @@ TEST_F(TestMockIoCopyupRequest, StandardWithSnaps) {
                            0);
 
   expect_add_copyup_ops(mock_write_request);
-  expect_sparse_copyup(mock_image_ctx, 0, "oid", {{0, 4096}}, data, 0);
-  expect_write(mock_image_ctx, CEPH_NOSNAP, "oid", 0);
+  expect_sparse_copyup(mock_image_ctx, 0, ictx->get_object_name(0), {{0, 4096}},
+                       data, 0);
+  expect_write(mock_image_ctx, CEPH_NOSNAP, ictx->get_object_name(0), 0);
 
-  auto req = new MockCopyupRequest(&mock_image_ctx, "oid", 0,
+  auto req = new MockCopyupRequest(&mock_image_ctx, 0,
                                    {{0, 4096}}, {});
   mock_image_ctx.copyup_list[0] = req;
   req->append_request(&mock_write_request);
@@ -472,10 +473,10 @@ TEST_F(TestMockIoCopyupRequest, CopyOnRead) {
   expect_object_map_update(mock_image_ctx, CEPH_NOSNAP, 0, OBJECT_EXISTS, true,
                            0);
 
-  expect_sparse_copyup(mock_image_ctx, CEPH_NOSNAP, "oid", {{0, 4096}}, data,
-                       0);
+  expect_sparse_copyup(mock_image_ctx, CEPH_NOSNAP, ictx->get_object_name(0),
+                       {{0, 4096}}, data, 0);
 
-  auto req = new MockCopyupRequest(&mock_image_ctx, "oid", 0,
+  auto req = new MockCopyupRequest(&mock_image_ctx, 0,
                                    {{0, 4096}}, {});
   mock_image_ctx.copyup_list[0] = req;
   req->send();
@@ -519,9 +520,10 @@ TEST_F(TestMockIoCopyupRequest, CopyOnReadWithSnaps) {
   expect_object_map_update(mock_image_ctx, CEPH_NOSNAP, 0, OBJECT_EXISTS_CLEAN,
                            true, 0);
 
-  expect_sparse_copyup(mock_image_ctx, 0, "oid", {{0, 4096}}, data, 0);
+  expect_sparse_copyup(mock_image_ctx, 0, ictx->get_object_name(0), {{0, 4096}},
+                       data, 0);
 
-  auto req = new MockCopyupRequest(&mock_image_ctx, "oid", 0,
+  auto req = new MockCopyupRequest(&mock_image_ctx, 0,
                                    {{0, 4096}}, {});
   mock_image_ctx.copyup_list[0] = req;
   req->send();
@@ -562,10 +564,11 @@ TEST_F(TestMockIoCopyupRequest, DeepCopy) {
                            0);
 
   expect_add_copyup_ops(mock_write_request);
-  expect_sparse_copyup(mock_image_ctx, CEPH_NOSNAP, "oid", {}, "", 0);
-  expect_write(mock_image_ctx, CEPH_NOSNAP, "oid", 0);
+  expect_sparse_copyup(mock_image_ctx, CEPH_NOSNAP, ictx->get_object_name(0),
+                       {}, "", 0);
+  expect_write(mock_image_ctx, CEPH_NOSNAP, ictx->get_object_name(0), 0);
 
-  auto req = new MockCopyupRequest(&mock_image_ctx, "oid", 0,
+  auto req = new MockCopyupRequest(&mock_image_ctx, 0,
                                    {{0, 4096}}, {});
   mock_image_ctx.copyup_list[0] = req;
   req->append_request(&mock_write_request);
@@ -603,9 +606,10 @@ TEST_F(TestMockIoCopyupRequest, DeepCopyOnRead) {
   expect_object_map_update(mock_image_ctx, CEPH_NOSNAP, 0, OBJECT_EXISTS, true,
                            0);
 
-  expect_sparse_copyup(mock_image_ctx, CEPH_NOSNAP, "oid", {}, "", 0);
+  expect_sparse_copyup(mock_image_ctx, CEPH_NOSNAP, ictx->get_object_name(0),
+                       {}, "", 0);
 
-  auto req = new MockCopyupRequest(&mock_image_ctx, "oid", 0,
+  auto req = new MockCopyupRequest(&mock_image_ctx, 0,
                                    {{0, 4096}}, {});
   mock_image_ctx.copyup_list[0] = req;
   req->send();
@@ -668,10 +672,11 @@ TEST_F(TestMockIoCopyupRequest, DeepCopyWithPostSnaps) {
                            0);
 
   expect_add_copyup_ops(mock_write_request);
-  expect_sparse_copyup(mock_image_ctx, CEPH_NOSNAP, "oid", {}, "", 0);
-  expect_write(mock_image_ctx, CEPH_NOSNAP, "oid", 0);
+  expect_sparse_copyup(mock_image_ctx, CEPH_NOSNAP, ictx->get_object_name(0),
+                       {}, "", 0);
+  expect_write(mock_image_ctx, CEPH_NOSNAP, ictx->get_object_name(0), 0);
 
-  auto req = new MockCopyupRequest(&mock_image_ctx, "oid", 0,
+  auto req = new MockCopyupRequest(&mock_image_ctx, 0,
                                    {{0, 4096}}, {});
   mock_image_ctx.copyup_list[0] = req;
   req->append_request(&mock_write_request);
@@ -739,10 +744,11 @@ TEST_F(TestMockIoCopyupRequest, DeepCopyWithPreAndPostSnaps) {
                            0);
 
   expect_add_copyup_ops(mock_write_request);
-  expect_sparse_copyup(mock_image_ctx, CEPH_NOSNAP, "oid", {}, "", 0);
-  expect_write(mock_image_ctx, CEPH_NOSNAP, "oid", 0);
+  expect_sparse_copyup(mock_image_ctx, CEPH_NOSNAP, ictx->get_object_name(0),
+                       {}, "", 0);
+  expect_write(mock_image_ctx, CEPH_NOSNAP, ictx->get_object_name(0), 0);
 
-  auto req = new MockCopyupRequest(&mock_image_ctx, "oid", 0,
+  auto req = new MockCopyupRequest(&mock_image_ctx, 0,
                                    {{0, 4096}}, {});
   mock_image_ctx.copyup_list[0] = req;
   req->append_request(&mock_write_request);
@@ -779,10 +785,11 @@ TEST_F(TestMockIoCopyupRequest, ZeroedCopyup) {
                            0);
 
   expect_add_copyup_ops(mock_write_request);
-  expect_sparse_copyup(mock_image_ctx, CEPH_NOSNAP, "oid", {}, "", 0);
-  expect_write(mock_image_ctx, CEPH_NOSNAP, "oid", 0);
+  expect_sparse_copyup(mock_image_ctx, CEPH_NOSNAP, ictx->get_object_name(0),
+                       {}, "", 0);
+  expect_write(mock_image_ctx, CEPH_NOSNAP, ictx->get_object_name(0), 0);
 
-  auto req = new MockCopyupRequest(&mock_image_ctx, "oid", 0,
+  auto req = new MockCopyupRequest(&mock_image_ctx, 0,
                                    {{0, 4096}}, {});
   mock_image_ctx.copyup_list[0] = req;
   req->append_request(&mock_write_request);
@@ -820,9 +827,10 @@ TEST_F(TestMockIoCopyupRequest, ZeroedCopyOnRead) {
   expect_object_map_update(mock_image_ctx, CEPH_NOSNAP, 0, OBJECT_EXISTS, true,
                            0);
 
-  expect_sparse_copyup(mock_image_ctx, CEPH_NOSNAP, "oid", {}, "", 0);
+  expect_sparse_copyup(mock_image_ctx, CEPH_NOSNAP, ictx->get_object_name(0),
+                       {}, "", 0);
 
-  auto req = new MockCopyupRequest(&mock_image_ctx, "oid", 0,
+  auto req = new MockCopyupRequest(&mock_image_ctx, 0,
                                    {{0, 4096}}, {});
   mock_image_ctx.copyup_list[0] = req;
   req->send();
@@ -856,7 +864,7 @@ TEST_F(TestMockIoCopyupRequest, NoOpCopyup) {
   MockAbstractObjectWriteRequest mock_write_request;
   expect_is_empty_write_op(mock_write_request, true);
 
-  auto req = new MockCopyupRequest(&mock_image_ctx, "oid", 0,
+  auto req = new MockCopyupRequest(&mock_image_ctx, 0,
                                    {{0, 4096}}, {});
   mock_image_ctx.copyup_list[0] = req;
   req->append_request(&mock_write_request);
@@ -897,15 +905,15 @@ TEST_F(TestMockIoCopyupRequest, RestartWrite) {
   expect_object_map_update(mock_image_ctx, CEPH_NOSNAP, 0, OBJECT_EXISTS, true,
                            0);
 
-  auto req = new MockCopyupRequest(&mock_image_ctx, "oid", 0,
+  auto req = new MockCopyupRequest(&mock_image_ctx, 0,
                                    {{0, 4096}}, {});
   expect_add_copyup_ops(mock_write_request1);
-  expect_sparse_copyup(mock_image_ctx, CEPH_NOSNAP, "oid", {{0, 4096}}, data,
-                       0);
+  expect_sparse_copyup(mock_image_ctx, CEPH_NOSNAP, ictx->get_object_name(0),
+                       {{0, 4096}}, data, 0);
 
   MockAbstractObjectWriteRequest mock_write_request2;
   EXPECT_CALL(get_mock_io_ctx(mock_image_ctx.data_ctx),
-              write("oid", _, 0, 0, _))
+              write(ictx->get_object_name(0), _, 0, 0, _))
     .WillOnce(WithoutArgs(Invoke([req, &mock_write_request2]() {
                             req->append_request(&mock_write_request2);
                             return 0;
@@ -946,7 +954,7 @@ TEST_F(TestMockIoCopyupRequest, ReadFromParentError) {
   MockAbstractObjectWriteRequest mock_write_request;
   expect_is_empty_write_op(mock_write_request, false);
 
-  auto req = new MockCopyupRequest(&mock_image_ctx, "oid", 0,
+  auto req = new MockCopyupRequest(&mock_image_ctx, 0,
                                    {{0, 4096}}, {});
   mock_image_ctx.copyup_list[0] = req;
   req->append_request(&mock_write_request);
@@ -983,7 +991,7 @@ TEST_F(TestMockIoCopyupRequest, DeepCopyError) {
 
   expect_is_empty_write_op(mock_write_request, false);
 
-  auto req = new MockCopyupRequest(&mock_image_ctx, "oid", 0,
+  auto req = new MockCopyupRequest(&mock_image_ctx, 0,
                                    {{0, 4096}}, {});
   mock_image_ctx.copyup_list[0] = req;
   req->append_request(&mock_write_request);
@@ -1024,7 +1032,7 @@ TEST_F(TestMockIoCopyupRequest, UpdateObjectMapError) {
   expect_object_map_update(mock_image_ctx, CEPH_NOSNAP, 0, OBJECT_EXISTS, true,
                            -EINVAL);
 
-  auto req = new MockCopyupRequest(&mock_image_ctx, "oid", 0,
+  auto req = new MockCopyupRequest(&mock_image_ctx, 0,
                                    {{0, 4096}}, {});
   mock_image_ctx.copyup_list[0] = req;
   req->append_request(&mock_write_request);
@@ -1074,10 +1082,11 @@ TEST_F(TestMockIoCopyupRequest, CopyupError) {
                            0);
 
   expect_add_copyup_ops(mock_write_request);
-  expect_sparse_copyup(mock_image_ctx, 0, "oid", {{0, 4096}}, data, -EPERM);
-  expect_write(mock_image_ctx, CEPH_NOSNAP, "oid", 0);
+  expect_sparse_copyup(mock_image_ctx, 0, ictx->get_object_name(0), {{0, 4096}},
+                       data, -EPERM);
+  expect_write(mock_image_ctx, CEPH_NOSNAP, ictx->get_object_name(0), 0);
 
-  auto req = new MockCopyupRequest(&mock_image_ctx, "oid", 0,
+  auto req = new MockCopyupRequest(&mock_image_ctx, 0,
                                    {{0, 4096}}, {});
   mock_image_ctx.copyup_list[0] = req;
   req->append_request(&mock_write_request);
@@ -1121,11 +1130,10 @@ TEST_F(TestMockIoCopyupRequest, SparseCopyupNotSupported) {
                            0);
 
   expect_add_copyup_ops(mock_write_request);
-  expect_copyup(mock_image_ctx, CEPH_NOSNAP, "oid", data, 0);
-  expect_write(mock_image_ctx, CEPH_NOSNAP, "oid", 0);
+  expect_copyup(mock_image_ctx, CEPH_NOSNAP, ictx->get_object_name(0), data, 0);
+  expect_write(mock_image_ctx, CEPH_NOSNAP, ictx->get_object_name(0), 0);
 
-  auto req = new MockCopyupRequest(&mock_image_ctx, "oid", 0,
-                                   {{0, 4096}}, {});
+  auto req = new MockCopyupRequest(&mock_image_ctx, 0, {{0, 4096}}, {});
   mock_image_ctx.copyup_list[0] = req;
   req->append_request(&mock_write_request);
   req->send();
index 3459ac49c418b9ab02a86f18665b63b729854fd7..b963d737704da4547c7eab00c39b92ea2ca6bcd3 100644 (file)
@@ -43,8 +43,7 @@ template <>
 struct CopyupRequest<librbd::MockTestImageCtx> : public CopyupRequest<librbd::MockImageCtx> {
   static CopyupRequest* s_instance;
   static CopyupRequest* create(librbd::MockTestImageCtx *ictx,
-                               const std::string &oid, uint64_t objectno,
-                               Extents &&image_extents,
+                               uint64_t objectno, Extents &&image_extents,
                                const ZTracer::Trace &parent_trace) {
     return s_instance;
   }
@@ -331,8 +330,7 @@ TEST_F(TestMockIoObjectRequest, Read) {
   ExtentMap extent_map;
   C_SaferCond ctx;
   auto req = MockObjectReadRequest::create(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, 4096, CEPH_NOSNAP, 0, {},
-    &bl, &extent_map, &ctx);
+    &mock_image_ctx, 0, 0, 4096, CEPH_NOSNAP, 0, {}, &bl, &extent_map, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -360,9 +358,8 @@ TEST_F(TestMockIoObjectRequest, SparseReadThreshold) {
   ExtentMap extent_map;
   C_SaferCond ctx;
   auto req = MockObjectReadRequest::create(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0,
-    ictx->sparse_read_threshold_bytes, CEPH_NOSNAP, 0, {}, &bl, &extent_map,
-    &ctx);
+    &mock_image_ctx, 0, 0, ictx->sparse_read_threshold_bytes, CEPH_NOSNAP, 0,
+    {}, &bl, &extent_map, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -388,8 +385,7 @@ TEST_F(TestMockIoObjectRequest, ReadError) {
   ExtentMap extent_map;
   C_SaferCond ctx;
   auto req = MockObjectReadRequest::create(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, 4096, CEPH_NOSNAP, 0, {},
-    &bl, &extent_map, &ctx);
+    &mock_image_ctx, 0, 0, 4096, CEPH_NOSNAP, 0, {}, &bl, &extent_map, &ctx);
   req->send();
   ASSERT_EQ(-EPERM, ctx.wait());
 }
@@ -436,8 +432,7 @@ TEST_F(TestMockIoObjectRequest, ParentRead) {
   ExtentMap extent_map;
   C_SaferCond ctx;
   auto req = MockObjectReadRequest::create(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, 4096, CEPH_NOSNAP, 0, {},
-    &bl, &extent_map, &ctx);
+    &mock_image_ctx, 0, 0, 4096, CEPH_NOSNAP, 0, {}, &bl, &extent_map, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -484,8 +479,7 @@ TEST_F(TestMockIoObjectRequest, ParentReadError) {
   ExtentMap extent_map;
   C_SaferCond ctx;
   auto req = MockObjectReadRequest::create(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, 4096, CEPH_NOSNAP, 0, {},
-    &bl, &extent_map, &ctx);
+    &mock_image_ctx, 0, 0, 4096, CEPH_NOSNAP, 0, {}, &bl, &extent_map, &ctx);
   req->send();
   ASSERT_EQ(-EPERM, ctx.wait());
 }
@@ -537,8 +531,7 @@ TEST_F(TestMockIoObjectRequest, CopyOnRead) {
   ExtentMap extent_map;
   C_SaferCond ctx;
   auto req = MockObjectReadRequest::create(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, 4096, CEPH_NOSNAP, 0, {},
-    &bl, &extent_map, &ctx);
+    &mock_image_ctx, 0, 0, 4096, CEPH_NOSNAP, 0, {}, &bl, &extent_map, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -572,8 +565,7 @@ TEST_F(TestMockIoObjectRequest, Write) {
 
   C_SaferCond ctx;
   auto req = MockObjectWriteRequest::create_write(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, std::move(bl),
-    mock_image_ctx.snapc, 0, {}, &ctx);
+    &mock_image_ctx, 0, 0, std::move(bl), mock_image_ctx.snapc, 0, {}, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -607,8 +599,7 @@ TEST_F(TestMockIoObjectRequest, WriteFull) {
 
   C_SaferCond ctx;
   auto req = MockObjectWriteRequest::create_write(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, std::move(bl),
-    mock_image_ctx.snapc, 0, {}, &ctx);
+    &mock_image_ctx, 0, 0, std::move(bl), mock_image_ctx.snapc, 0, {}, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -641,8 +632,7 @@ TEST_F(TestMockIoObjectRequest, WriteObjectMap) {
 
   C_SaferCond ctx;
   auto req = MockObjectWriteRequest::create_write(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, std::move(bl),
-    mock_image_ctx.snapc, 0, {}, &ctx);
+    &mock_image_ctx, 0, 0, std::move(bl), mock_image_ctx.snapc, 0, {}, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -663,8 +653,7 @@ TEST_F(TestMockIoObjectRequest, WriteError) {
 
   C_SaferCond ctx;
   auto req = MockObjectWriteRequest::create_write(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, std::move(bl),
-    mock_image_ctx.snapc, 0, {}, &ctx);
+    &mock_image_ctx, 0, 0, std::move(bl), mock_image_ctx.snapc, 0, {}, &ctx);
   req->send();
   ASSERT_EQ(-EPERM, ctx.wait());
 }
@@ -717,8 +706,7 @@ TEST_F(TestMockIoObjectRequest, Copyup) {
 
   C_SaferCond ctx;
   auto req = MockObjectWriteRequest::create_write(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, std::move(bl),
-    mock_image_ctx.snapc, 0, {}, &ctx);
+    &mock_image_ctx, 0, 0, std::move(bl), mock_image_ctx.snapc, 0, {}, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -773,8 +761,7 @@ TEST_F(TestMockIoObjectRequest, CopyupRestart) {
 
   C_SaferCond ctx;
   auto req = MockObjectWriteRequest::create_write(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, std::move(bl),
-    mock_image_ctx.snapc, 0, {}, &ctx);
+    &mock_image_ctx, 0, 0, std::move(bl), mock_image_ctx.snapc, 0, {}, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -821,8 +808,7 @@ TEST_F(TestMockIoObjectRequest, CopyupOptimization) {
 
   C_SaferCond ctx;
   auto req = MockObjectWriteRequest::create_write(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, std::move(bl),
-    mock_image_ctx.snapc, 0, {}, &ctx);
+    &mock_image_ctx, 0, 0, std::move(bl), mock_image_ctx.snapc, 0, {}, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -862,8 +848,7 @@ TEST_F(TestMockIoObjectRequest, CopyupError) {
 
   C_SaferCond ctx;
   auto req = MockObjectWriteRequest::create_write(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, std::move(bl),
-    mock_image_ctx.snapc, 0, {}, &ctx);
+    &mock_image_ctx, 0, 0, std::move(bl), mock_image_ctx.snapc, 0, {}, &ctx);
   req->send();
   ASSERT_EQ(-EPERM, ctx.wait());
 }
@@ -896,8 +881,8 @@ TEST_F(TestMockIoObjectRequest, DiscardRemove) {
 
   C_SaferCond ctx;
   auto req = MockObjectDiscardRequest::create_discard(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0,
-    mock_image_ctx.get_object_size(), mock_image_ctx.snapc, 0, {}, &ctx);
+    &mock_image_ctx, 0, 0, mock_image_ctx.get_object_size(),
+    mock_image_ctx.snapc, 0, {}, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -946,9 +931,8 @@ TEST_F(TestMockIoObjectRequest, DiscardRemoveTruncate) {
 
   C_SaferCond ctx;
   auto req = MockObjectDiscardRequest::create_discard(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0,
-    mock_image_ctx.get_object_size(), mock_image_ctx.snapc,
-    OBJECT_DISCARD_FLAG_DISABLE_CLONE_REMOVE, {}, &ctx);
+    &mock_image_ctx, 0, 0, mock_image_ctx.get_object_size(),
+    mock_image_ctx.snapc, OBJECT_DISCARD_FLAG_DISABLE_CLONE_REMOVE, {}, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -1003,9 +987,8 @@ TEST_F(TestMockIoObjectRequest, DiscardTruncateAssertExists) {
 
   C_SaferCond ctx;
   auto req = MockObjectDiscardRequest::create_discard(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0,
-    mock_image_ctx.get_object_size(), mock_image_ctx.snapc,
-    OBJECT_DISCARD_FLAG_DISABLE_CLONE_REMOVE, {}, &ctx);
+    &mock_image_ctx, 0, 0, mock_image_ctx.get_object_size(),
+    mock_image_ctx.snapc, OBJECT_DISCARD_FLAG_DISABLE_CLONE_REMOVE, {}, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -1039,8 +1022,8 @@ TEST_F(TestMockIoObjectRequest, DiscardTruncate) {
 
   C_SaferCond ctx;
   auto req = MockObjectDiscardRequest::create_discard(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 1,
-    mock_image_ctx.get_object_size() - 1, mock_image_ctx.snapc, 0, {}, &ctx);
+    &mock_image_ctx, 0, 1, mock_image_ctx.get_object_size() - 1,
+    mock_image_ctx.snapc, 0, {}, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -1071,8 +1054,7 @@ TEST_F(TestMockIoObjectRequest, DiscardZero) {
 
   C_SaferCond ctx;
   auto req = MockObjectDiscardRequest::create_discard(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 1, 1, mock_image_ctx.snapc,
-    0, {}, &ctx);
+    &mock_image_ctx, 0, 1, 1, mock_image_ctx.snapc, 0, {}, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -1100,8 +1082,8 @@ TEST_F(TestMockIoObjectRequest, DiscardDisableObjectMapUpdate) {
 
   C_SaferCond ctx;
   auto req = MockObjectDiscardRequest::create_discard(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0,
-    mock_image_ctx.get_object_size(), mock_image_ctx.snapc,
+    &mock_image_ctx, 0, 0, mock_image_ctx.get_object_size(),
+    mock_image_ctx.snapc,
     OBJECT_DISCARD_FLAG_DISABLE_CLONE_REMOVE |
       OBJECT_DISCARD_FLAG_DISABLE_OBJECT_MAP_UPDATE, {}, &ctx);
   req->send();
@@ -1131,8 +1113,8 @@ TEST_F(TestMockIoObjectRequest, DiscardNoOp) {
 
   C_SaferCond ctx;
   auto req = MockObjectDiscardRequest::create_discard(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0,
-    mock_image_ctx.get_object_size(), mock_image_ctx.snapc,
+    &mock_image_ctx, 0, 0, mock_image_ctx.get_object_size(),
+    mock_image_ctx.snapc,
     OBJECT_DISCARD_FLAG_DISABLE_CLONE_REMOVE |
       OBJECT_DISCARD_FLAG_DISABLE_OBJECT_MAP_UPDATE, {},
     &ctx);
@@ -1169,8 +1151,7 @@ TEST_F(TestMockIoObjectRequest, WriteSame) {
 
   C_SaferCond ctx;
   auto req = MockObjectWriteSameRequest::create_write_same(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, 4096, std::move(bl),
-    mock_image_ctx.snapc, 0, {}, &ctx);
+    &mock_image_ctx, 0, 0, 4096, std::move(bl), mock_image_ctx.snapc, 0, {}, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -1209,8 +1190,8 @@ TEST_F(TestMockIoObjectRequest, CompareAndWrite) {
   C_SaferCond ctx;
   uint64_t mismatch_offset;
   auto req = MockObjectWriteSameRequest::create_compare_and_write(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, std::move(cmp_bl),
-    std::move(bl), mock_image_ctx.snapc, &mismatch_offset, 0, {}, &ctx);
+    &mock_image_ctx, 0, 0, std::move(cmp_bl), std::move(bl),
+    mock_image_ctx.snapc, &mismatch_offset, 0, {}, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -1249,8 +1230,8 @@ TEST_F(TestMockIoObjectRequest, CompareAndWriteFull) {
   C_SaferCond ctx;
   uint64_t mismatch_offset;
   auto req = MockObjectWriteSameRequest::create_compare_and_write(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, std::move(cmp_bl),
-    std::move(bl), mock_image_ctx.snapc, &mismatch_offset, 0, {}, &ctx);
+    &mock_image_ctx, 0, 0, std::move(cmp_bl), std::move(bl),
+    mock_image_ctx.snapc, &mismatch_offset, 0, {}, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -1311,8 +1292,8 @@ TEST_F(TestMockIoObjectRequest, CompareAndWriteCopyup) {
   C_SaferCond ctx;
   uint64_t mismatch_offset;
   auto req = MockObjectWriteSameRequest::create_compare_and_write(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, std::move(cmp_bl),
-    std::move(bl), mock_image_ctx.snapc, &mismatch_offset, 0, {}, &ctx);
+    &mock_image_ctx, 0, 0, std::move(cmp_bl), std::move(bl),
+    mock_image_ctx.snapc, &mismatch_offset, 0, {}, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -1350,8 +1331,8 @@ TEST_F(TestMockIoObjectRequest, CompareAndWriteMismatch) {
   C_SaferCond ctx;
   uint64_t mismatch_offset;
   auto req = MockObjectWriteSameRequest::create_compare_and_write(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, std::move(cmp_bl),
-    std::move(bl), mock_image_ctx.snapc, &mismatch_offset, 0, {}, &ctx);
+    &mock_image_ctx, 0, 0, std::move(cmp_bl), std::move(bl),
+    mock_image_ctx.snapc, &mismatch_offset, 0, {}, &ctx);
   req->send();
   ASSERT_EQ(-EILSEQ, ctx.wait());
   ASSERT_EQ(1ULL, mismatch_offset);
@@ -1385,8 +1366,7 @@ TEST_F(TestMockIoObjectRequest, ObjectMapError) {
 
   C_SaferCond ctx;
   auto req = MockObjectWriteRequest::create_write(
-    &mock_image_ctx, ictx->get_object_name(0), 0, 0, std::move(bl),
-    mock_image_ctx.snapc, 0, {}, &ctx);
+    &mock_image_ctx, 0, 0, std::move(bl), mock_image_ctx.snapc, 0, {}, &ctx);
   req->send();
   ASSERT_EQ(-EBLACKLISTED, ctx.wait());
 }
index 860b2d676b00bff1daa44e52cc88197d43f2b893..57123b32905a330fbfef453508e0c6e138cc6380 100644 (file)
@@ -113,8 +113,8 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, Read) {
   C_SaferCond cond;
   Context *on_finish = &cond;
   ASSERT_FALSE(mock_simple_scheduler_object_dispatch.read(
-      ictx->get_object_name(0), 0, 0, 4096, CEPH_NOSNAP, 0, {}, nullptr,
-      nullptr, nullptr, nullptr, &on_finish, nullptr));
+      0, 0, 4096, CEPH_NOSNAP, 0, {}, nullptr, nullptr, nullptr, nullptr,
+      &on_finish, nullptr));
   ASSERT_EQ(on_finish, &cond); // not modified
   on_finish->complete(0);
   ASSERT_EQ(0, cond.wait());
@@ -131,8 +131,8 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, Discard) {
   C_SaferCond cond;
   Context *on_finish = &cond;
   ASSERT_FALSE(mock_simple_scheduler_object_dispatch.discard(
-      ictx->get_object_name(0), 0, 0, 4096, mock_image_ctx.snapc, 0, {},
-      nullptr, nullptr, nullptr, &on_finish, nullptr));
+      0, 0, 4096, mock_image_ctx.snapc, 0, {}, nullptr, nullptr, nullptr,
+      &on_finish, nullptr));
   ASSERT_NE(on_finish, &cond);
   on_finish->complete(0);
   ASSERT_EQ(0, cond.wait());
@@ -152,8 +152,8 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, Write) {
   C_SaferCond cond;
   Context *on_finish = &cond;
   ASSERT_FALSE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, 0, std::move(data), mock_image_ctx.snapc, 0,
-      {}, &object_dispatch_flags, nullptr, nullptr, &on_finish, nullptr));
+      0, 0, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, nullptr, &on_finish, nullptr));
   ASSERT_NE(on_finish, &cond);
   on_finish->complete(0);
   ASSERT_EQ(0, cond.wait());
@@ -172,9 +172,9 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, WriteSame) {
   C_SaferCond cond;
   Context *on_finish = &cond;
   ASSERT_FALSE(mock_simple_scheduler_object_dispatch.write_same(
-      ictx->get_object_name(0), 0, 0, 4096, std::move(buffer_extents),
-      std::move(data), mock_image_ctx.snapc, 0, {}, nullptr, nullptr, nullptr,
-      &on_finish, nullptr));
+      0, 0, 4096, std::move(buffer_extents), std::move(data),
+      mock_image_ctx.snapc, 0, {}, nullptr, nullptr, nullptr, &on_finish,
+      nullptr));
   ASSERT_NE(on_finish, &cond);
   on_finish->complete(0);
   ASSERT_EQ(0, cond.wait());
@@ -193,9 +193,8 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, CompareAndWrite) {
   C_SaferCond cond;
   Context *on_finish = &cond;
   ASSERT_FALSE(mock_simple_scheduler_object_dispatch.compare_and_write(
-      ictx->get_object_name(0), 0, 0, std::move(cmp_data),
-      std::move(write_data), mock_image_ctx.snapc, 0, {}, nullptr, nullptr,
-      nullptr, nullptr, &on_finish, nullptr));
+      0, 0, std::move(cmp_data), std::move(write_data), mock_image_ctx.snapc, 0,
+      {}, nullptr, nullptr, nullptr, nullptr, &on_finish, nullptr));
   ASSERT_NE(on_finish, &cond);
   on_finish->complete(0);
   ASSERT_EQ(0, cond.wait());
@@ -236,8 +235,8 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, WriteDelayed) {
   C_SaferCond cond1;
   Context *on_finish1 = &cond1;
   ASSERT_FALSE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, 0, std::move(data), mock_image_ctx.snapc, 0,
-      {}, &object_dispatch_flags, nullptr, nullptr, &on_finish1, nullptr));
+      0, 0, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, nullptr, &on_finish1, nullptr));
   ASSERT_NE(on_finish1, &cond1);
 
   Context *timer_task = nullptr;
@@ -248,8 +247,8 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, WriteDelayed) {
   Context *on_finish2 = &cond2;
   C_SaferCond on_dispatched;
   ASSERT_TRUE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, 0, std::move(data), mock_image_ctx.snapc, 0,
-      {}, &object_dispatch_flags, nullptr, &dispatch_result, &on_finish2,
+      0, 0, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, &dispatch_result, &on_finish2,
       &on_dispatched));
   ASSERT_EQ(dispatch_result, io::DISPATCH_RESULT_COMPLETE);
   ASSERT_EQ(on_finish2, &cond2);
@@ -283,8 +282,8 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, WriteDelayedFlush) {
   C_SaferCond cond1;
   Context *on_finish1 = &cond1;
   ASSERT_FALSE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, 0, std::move(data), mock_image_ctx.snapc, 0,
-      {}, &object_dispatch_flags, nullptr, nullptr, &on_finish1, nullptr));
+      0, 0, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, nullptr, &on_finish1, nullptr));
   ASSERT_NE(on_finish1, &cond1);
 
   Context *timer_task = nullptr;
@@ -295,8 +294,8 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, WriteDelayedFlush) {
   Context *on_finish2 = &cond2;
   C_SaferCond on_dispatched;
   ASSERT_TRUE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, 0, std::move(data), mock_image_ctx.snapc, 0,
-      {}, &object_dispatch_flags, nullptr, &dispatch_result, &on_finish2,
+      0, 0, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, &dispatch_result, &on_finish2,
       &on_dispatched));
   ASSERT_EQ(dispatch_result, io::DISPATCH_RESULT_COMPLETE);
   ASSERT_EQ(on_finish2, &cond2);
@@ -338,8 +337,8 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, WriteMerged) {
   C_SaferCond cond1;
   Context *on_finish1 = &cond1;
   ASSERT_FALSE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, 0, std::move(data), mock_image_ctx.snapc, 0,
-      {}, &object_dispatch_flags, nullptr, nullptr, &on_finish1, nullptr));
+      0, 0, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, nullptr, &on_finish1, nullptr));
   ASSERT_NE(on_finish1, &cond1);
 
   Context *timer_task = nullptr;
@@ -353,9 +352,9 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, WriteMerged) {
   Context *on_finish2 = &cond2;
   C_SaferCond on_dispatched2;
   ASSERT_TRUE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, object_off, std::move(data),
-      mock_image_ctx.snapc, 0, {}, &object_dispatch_flags, nullptr,
-      &dispatch_result, &on_finish2, &on_dispatched2));
+      0, object_off, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, &dispatch_result, &on_finish2,
+      &on_dispatched2));
   ASSERT_EQ(dispatch_result, io::DISPATCH_RESULT_COMPLETE);
   ASSERT_EQ(on_finish2, &cond2);
   ASSERT_NE(timer_task, nullptr);
@@ -367,9 +366,9 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, WriteMerged) {
   Context *on_finish3 = &cond3;
   C_SaferCond on_dispatched3;
   ASSERT_TRUE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, object_off, std::move(data),
-      mock_image_ctx.snapc, 0, {}, &object_dispatch_flags, nullptr,
-      &dispatch_result, &on_finish3, &on_dispatched3));
+      0, object_off, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, &dispatch_result, &on_finish3,
+      &on_dispatched3));
   ASSERT_EQ(dispatch_result, io::DISPATCH_RESULT_COMPLETE);
   ASSERT_EQ(on_finish3, &cond3);
 
@@ -380,9 +379,9 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, WriteMerged) {
   Context *on_finish4 = &cond4;
   C_SaferCond on_dispatched4;
   ASSERT_TRUE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, object_off, std::move(data),
-      mock_image_ctx.snapc, 0, {}, &object_dispatch_flags, nullptr,
-      &dispatch_result, &on_finish4, &on_dispatched4));
+      0, object_off, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, &dispatch_result, &on_finish4,
+      &on_dispatched4));
   ASSERT_EQ(dispatch_result, io::DISPATCH_RESULT_COMPLETE);
   ASSERT_EQ(on_finish4, &cond4);
 
@@ -393,9 +392,9 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, WriteMerged) {
   Context *on_finish5 = &cond5;
   C_SaferCond on_dispatched5;
   ASSERT_TRUE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, object_off, std::move(data),
-      mock_image_ctx.snapc, 0, {}, &object_dispatch_flags, nullptr,
-      &dispatch_result, &on_finish5, &on_dispatched5));
+      0, object_off, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, &dispatch_result, &on_finish5,
+      &on_dispatched5));
   ASSERT_EQ(dispatch_result, io::DISPATCH_RESULT_COMPLETE);
   ASSERT_EQ(on_finish5, &cond5);
 
@@ -406,9 +405,9 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, WriteMerged) {
   Context *on_finish6 = &cond6;
   C_SaferCond on_dispatched6;
   ASSERT_TRUE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, object_off, std::move(data),
-      mock_image_ctx.snapc, 0, {}, &object_dispatch_flags, nullptr,
-      &dispatch_result, &on_finish6, &on_dispatched6));
+      0, object_off, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, &dispatch_result, &on_finish6,
+      &on_dispatched6));
   ASSERT_EQ(dispatch_result, io::DISPATCH_RESULT_COMPLETE);
   ASSERT_EQ(on_finish6, &cond6);
 
@@ -454,8 +453,8 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, WriteNonSequential) {
   C_SaferCond cond1;
   Context *on_finish1 = &cond1;
   ASSERT_FALSE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, 0, std::move(data), mock_image_ctx.snapc, 0,
-      {}, &object_dispatch_flags, nullptr, nullptr, &on_finish1, nullptr));
+      0, 0, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, nullptr, &on_finish1, nullptr));
   ASSERT_NE(on_finish1, &cond1);
 
   Context *timer_task = nullptr;
@@ -469,9 +468,9 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, WriteNonSequential) {
   Context *on_finish2 = &cond2;
   C_SaferCond on_dispatched2;
   ASSERT_TRUE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, object_off, std::move(data),
-      mock_image_ctx.snapc, 0, {}, &object_dispatch_flags, nullptr,
-      &dispatch_result, &on_finish2, &on_dispatched2));
+      0, object_off, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, &dispatch_result, &on_finish2,
+      &on_dispatched2));
   ASSERT_EQ(dispatch_result, io::DISPATCH_RESULT_COMPLETE);
   ASSERT_EQ(on_finish2, &cond2);
   ASSERT_NE(timer_task, nullptr);
@@ -485,9 +484,8 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, WriteNonSequential) {
   C_SaferCond cond3;
   Context *on_finish3 = &cond3;
   ASSERT_FALSE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, object_off, std::move(data),
-      mock_image_ctx.snapc, 0, {}, &object_dispatch_flags, nullptr,
-      &dispatch_result, &on_finish3, nullptr));
+      0, object_off, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, &dispatch_result, &on_finish3, nullptr));
   ASSERT_NE(on_finish3, &cond3);
 
   on_finish1->complete(0);
@@ -518,8 +516,8 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, Mixed) {
   C_SaferCond cond1;
   Context *on_finish1 = &cond1;
   ASSERT_FALSE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, 0, std::move(data), mock_image_ctx.snapc, 0,
-      {}, &object_dispatch_flags, nullptr, nullptr, &on_finish1, nullptr));
+      0, 0, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, nullptr, &on_finish1, nullptr));
   ASSERT_NE(on_finish1, &cond1);
 
   // write (2) 0~10 (delayed)
@@ -534,9 +532,9 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, Mixed) {
   Context *on_finish2 = &cond2;
   C_SaferCond on_dispatched2;
   ASSERT_TRUE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, object_off, std::move(data),
-      mock_image_ctx.snapc, 0, {}, &object_dispatch_flags, nullptr,
-      &dispatch_result, &on_finish2, &on_dispatched2));
+      0, object_off, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, &dispatch_result, &on_finish2,
+      &on_dispatched2));
   ASSERT_EQ(dispatch_result, io::DISPATCH_RESULT_COMPLETE);
   ASSERT_EQ(on_finish2, &cond2);
   ASSERT_NE(timer_task, nullptr);
@@ -550,9 +548,9 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, Mixed) {
   Context *on_finish3 = &cond3;
   C_SaferCond on_dispatched3;
   ASSERT_TRUE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, object_off, std::move(data),
-      mock_image_ctx.snapc, 0, {}, &object_dispatch_flags, nullptr,
-      &dispatch_result, &on_finish3, &on_dispatched3));
+      0, object_off, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, &dispatch_result, &on_finish3,
+      &on_dispatched3));
   ASSERT_EQ(on_finish3, &cond3);
 
   // discard (1) (non-seq io)
@@ -563,8 +561,8 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, Mixed) {
   C_SaferCond cond4;
   Context *on_finish4 = &cond4;
   ASSERT_FALSE(mock_simple_scheduler_object_dispatch.discard(
-      ictx->get_object_name(0), 0, 4096, 4096, mock_image_ctx.snapc, 0, {},
-      nullptr, nullptr, nullptr, &on_finish4, nullptr));
+      0, 4096, 4096, mock_image_ctx.snapc, 0, {}, nullptr, nullptr, nullptr,
+      &on_finish4, nullptr));
   ASSERT_NE(on_finish4, &cond4);
   ASSERT_EQ(0, on_dispatched2.wait());
   ASSERT_EQ(0, on_dispatched3.wait());
@@ -580,9 +578,9 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, Mixed) {
   Context *on_finish5 = &cond5;
   C_SaferCond on_dispatched5;
   ASSERT_TRUE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, object_off, std::move(data),
-      mock_image_ctx.snapc, 0, {}, &object_dispatch_flags, nullptr,
-      &dispatch_result, &on_finish5, &on_dispatched5));
+      0, object_off, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, &dispatch_result, &on_finish5,
+      &on_dispatched5));
   ASSERT_EQ(on_finish5, &cond5);
   ASSERT_NE(timer_task, nullptr);
 
@@ -594,8 +592,8 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, Mixed) {
   C_SaferCond cond6;
   Context *on_finish6 = &cond6;
   ASSERT_FALSE(mock_simple_scheduler_object_dispatch.discard(
-      ictx->get_object_name(0), 0, 4096, 4096, mock_image_ctx.snapc, 0, {},
-      nullptr, nullptr, nullptr, &on_finish6, nullptr));
+      0, 4096, 4096, mock_image_ctx.snapc, 0, {}, nullptr, nullptr, nullptr,
+      &on_finish6, nullptr));
   ASSERT_NE(on_finish6, &cond6);
   ASSERT_EQ(0, on_dispatched5.wait());
 
@@ -610,9 +608,9 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, Mixed) {
   Context *on_finish7 = &cond7;
   C_SaferCond on_dispatched7;
   ASSERT_TRUE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, object_off, std::move(data),
-      mock_image_ctx.snapc, 0, {}, &object_dispatch_flags, nullptr,
-      &dispatch_result, &on_finish7, &on_dispatched7));
+      0, object_off, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, &dispatch_result, &on_finish7,
+      &on_dispatched7));
   ASSERT_EQ(on_finish7, &cond7);
   ASSERT_NE(timer_task, nullptr);
 
@@ -673,9 +671,8 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, DispatchQueue) {
   C_SaferCond cond1;
   Context *on_finish1 = &cond1;
   ASSERT_FALSE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(object_no), object_no, 0, std::move(data),
-      mock_image_ctx.snapc, 0, {}, &object_dispatch_flags, nullptr, nullptr,
-      &on_finish1, nullptr));
+      object_no, 0, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, nullptr, &on_finish1, nullptr));
   ASSERT_NE(on_finish1, &cond1);
 
   Context *timer_task = nullptr;
@@ -687,9 +684,9 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, DispatchQueue) {
   Context *on_finish2 = &cond2;
   C_SaferCond on_dispatched2;
   ASSERT_TRUE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(object_no), object_no, 0, std::move(data),
-      mock_image_ctx.snapc, 0, {}, &object_dispatch_flags, nullptr,
-      &dispatch_result, &on_finish2, &on_dispatched2));
+      object_no, 0, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, &dispatch_result, &on_finish2,
+      &on_dispatched2));
   ASSERT_EQ(dispatch_result, io::DISPATCH_RESULT_COMPLETE);
   ASSERT_EQ(on_finish2, &cond2);
   ASSERT_NE(timer_task, nullptr);
@@ -701,9 +698,8 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, DispatchQueue) {
   C_SaferCond cond3;
   Context *on_finish3 = &cond3;
   ASSERT_FALSE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(object_no), object_no, 0, std::move(data),
-      mock_image_ctx.snapc, 0, {}, &object_dispatch_flags, nullptr, nullptr,
-      &on_finish3, nullptr));
+      object_no, 0, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, nullptr, &on_finish3, nullptr));
   ASSERT_NE(on_finish3, &cond3);
 
   data.clear();
@@ -711,9 +707,9 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, DispatchQueue) {
   Context *on_finish4 = &cond4;
   C_SaferCond on_dispatched4;
   ASSERT_TRUE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(object_no), object_no, 0, std::move(data),
-      mock_image_ctx.snapc, 0, {}, &object_dispatch_flags, nullptr,
-      &dispatch_result, &on_finish4, &on_dispatched4));
+      object_no, 0, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, &dispatch_result, &on_finish4,
+      &on_dispatched4));
   ASSERT_EQ(dispatch_result, io::DISPATCH_RESULT_COMPLETE);
   ASSERT_EQ(on_finish4, &cond4);
 
@@ -758,8 +754,8 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, Timer) {
   C_SaferCond cond1;
   Context *on_finish1 = &cond1;
   ASSERT_FALSE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, 0, std::move(data), mock_image_ctx.snapc, 0,
-      {}, &object_dispatch_flags, nullptr, nullptr, &on_finish1, nullptr));
+      0, 0, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, nullptr, &on_finish1, nullptr));
   ASSERT_NE(on_finish1, &cond1);
 
   Context *timer_task = nullptr;
@@ -771,8 +767,8 @@ TEST_F(TestMockIoSimpleSchedulerObjectDispatch, Timer) {
   Context *on_finish2 = &cond2;
   C_SaferCond on_dispatched;
   ASSERT_TRUE(mock_simple_scheduler_object_dispatch.write(
-      ictx->get_object_name(0), 0, 0, std::move(data), mock_image_ctx.snapc, 0,
-      {}, &object_dispatch_flags, nullptr, &dispatch_result, &on_finish2,
+      0, 0, std::move(data), mock_image_ctx.snapc, 0, {},
+      &object_dispatch_flags, nullptr, &dispatch_result, &on_finish2,
       &on_dispatched));
   ASSERT_EQ(dispatch_result, io::DISPATCH_RESULT_COMPLETE);
   ASSERT_EQ(on_finish2, &cond2);
index ac09bcfa6e8d6dab37e89eed19e3685e311d2e6e..5a81acb8b01856f4c7e70c09fce5f866a830d5df 100644 (file)
@@ -28,8 +28,8 @@ public:
                bool(uint64_t, uint64_t, uint64_t, librados::snap_t,
                     ceph::bufferlist*, ExtentMap*, DispatchResult*, Context*));
   bool read(
-      const std::string& oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, librados::snap_t snap_id, int op_flags,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      librados::snap_t snap_id, int op_flags,
       const ZTracer::Trace& parent_trace, ceph::bufferlist* read_data,
       ExtentMap* extent_map, int* dispatch_flags,
       DispatchResult* dispatch_result, Context** on_finish,
@@ -42,8 +42,8 @@ public:
                bool(uint64_t, uint64_t, uint64_t, const ::SnapContext &, int,
                     int*, uint64_t*, DispatchResult*, Context*));
   bool discard(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, const ::SnapContext &snapc, int discard_flags,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      const ::SnapContext &snapc, int discard_flags,
       const ZTracer::Trace &parent_trace, int* dispatch_flags,
       uint64_t* journal_tid, DispatchResult* dispatch_result,
       Context** on_finish, Context* on_dispatched) {
@@ -57,8 +57,8 @@ public:
                     const ::SnapContext &, int*, uint64_t*, DispatchResult*,
                     Context *));
   bool write(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      ceph::bufferlist&& data, const ::SnapContext &snapc, int op_flags,
+      uint64_t object_no, uint64_t object_off, ceph::bufferlist&& data,
+      const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, int* dispatch_flags,
       uint64_t* journal_tid, DispatchResult* dispatch_result,
       Context** on_finish, Context* on_dispatched) override {
@@ -71,8 +71,8 @@ public:
                      const ceph::bufferlist&, const ::SnapContext &, int*,
                      uint64_t*, DispatchResult*, Context *));
   bool write_same(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      uint64_t object_len, Extents&& buffer_extents, ceph::bufferlist&& data,
+      uint64_t object_no, uint64_t object_off, uint64_t object_len,
+      Extents&& buffer_extents, ceph::bufferlist&& data,
       const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, int* dispatch_flags,
       uint64_t* journal_tid, DispatchResult* dispatch_result,
@@ -87,9 +87,8 @@ public:
                     const ceph::bufferlist&, uint64_t*, int*, uint64_t*,
                     DispatchResult*, Context *));
   bool compare_and_write(
-      const std::string &oid, uint64_t object_no, uint64_t object_off,
-      ceph::bufferlist&& cmp_data, ceph::bufferlist&& write_data,
-      const ::SnapContext &snapc, int op_flags,
+      uint64_t object_no, uint64_t object_off, ceph::bufferlist&& cmp_data,
+      ceph::bufferlist&& write_data, const ::SnapContext &snapc, int op_flags,
       const ZTracer::Trace &parent_trace, uint64_t* mismatch_offset,
       int* dispatch_flags, uint64_t* journal_tid,
       DispatchResult* dispatch_result, Context** on_finish,