]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson: PG::do_osd_op() takes OSDOp by reference, not pointer.
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Fri, 26 Apr 2019 13:33:05 +0000 (15:33 +0200)
committerKefu Chai <kchai@redhat.com>
Tue, 7 May 2019 09:48:10 +0000 (17:48 +0800)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/osd/pg.cc
src/crimson/osd/pg.h

index 9bba0946609459f981eeb17cc344eca6a2602ce5..b7f41ccfd3aba996c7d422becdd61313064945cc 100644 (file)
@@ -969,9 +969,9 @@ seastar::future<> PG::wait_for_active()
 }
 
 seastar::future<>
-PG::do_osd_op(const object_info_t& oi, OSDOp* osd_op)
+PG::do_osd_op(const object_info_t& oi, OSDOp& osd_op)
 {
-  switch (const auto& op = osd_op->op; op.op) {
+  switch (const auto& op = osd_op.op; op.op) {
   case CEPH_OSD_OP_SYNC_READ:
     [[fallthrough]];
   case CEPH_OSD_OP_READ:
@@ -980,9 +980,9 @@ PG::do_osd_op(const object_info_t& oi, OSDOp* osd_op)
                          op.extent.length,
                          op.extent.truncate_size,
                          op.extent.truncate_seq,
-                         op.flags).then([osd_op](bufferlist bl) {
-      osd_op->rval = bl.length();
-      osd_op->outdata = std::move(bl);
+                         op.flags).then([&osd_op](bufferlist bl) {
+      osd_op.rval = bl.length();
+      osd_op.outdata = std::move(bl);
       return seastar::now();
     });
   default:
@@ -1002,7 +1002,7 @@ seastar::future<Ref<MOSDOpReply>> PG::do_osd_ops(Ref<MOSDOp> m)
                         m->get_hobj().get_head() :
                         m->get_hobj());
       return backend->get_object(oid).then([&osd_op,this](auto oi) {
-        return do_osd_op(*oi, &osd_op);
+        return do_osd_op(*oi, osd_op);
       }).handle_exception_type([&osd_op](const object_not_found&) {
         osd_op.rval = -ENOENT;
         throw;
index 180b13dac5f60a58dd927fc17e278a30836d6768..b83d8a8158514aacc0fd2dd2211d574be81a24fe 100644 (file)
@@ -128,7 +128,7 @@ private:
                            const std::vector<int>& new_acting,
                            int new_acting_primary);
   seastar::future<Ref<MOSDOpReply>> do_osd_ops(Ref<MOSDOp> m);
-  seastar::future<> do_osd_op(const object_info_t& oi, OSDOp* op);
+  seastar::future<> do_osd_op(const object_info_t& oi, OSDOp& op);
 
 private:
   const spg_t pgid;