]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG: For async-read, set the real result after completing read. 2175/head
authorMa Jianpeng <jianpeng.ma@intel.com>
Thu, 31 Jul 2014 02:19:32 +0000 (10:19 +0800)
committerMa Jianpeng <jianpeng.ma@intel.com>
Fri, 1 Aug 2014 00:25:03 +0000 (08:25 +0800)
When reading an object from replicated pool, ceph uses sync mode,
so it can set the results in execute_ctx correctly.
However, For the async-read in EC Pool, current code didn't set the
real results after read in complete_read_ctx.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
src/osd/ReplicatedPG.cc

index 4dae5d3fef2faf82c79320d8ae857c20a6ea01e7..baf32a79a0cc48696f1742509da7fa9ad1092d2c 100644 (file)
@@ -5354,6 +5354,7 @@ void ReplicatedPG::complete_read_ctx(int result, OpContext *ctx)
     reply->set_enoent_reply_versions(info.last_update, info.last_user_version);
   }
 
+  reply->set_result(result);
   reply->add_flags(CEPH_OSD_FLAG_ACK | CEPH_OSD_FLAG_ONDISK);
   osd->send_message_osd_client(reply, m->get_connection());
   close_op_ctx(ctx, 0);