Hi Sam, I'm a newbie and I don’t have my ceph repo in github. So I can't send a full request. Jianpeng Ma Thanks! -----Original Message----- From: Samuel Just [mailto:sam.just@xxxxxxxxxxx] Sent: Saturday, July 12, 2014 1:21 AM To: Ma, Jianpeng Cc: ceph-devel@xxxxxxxxxxxxxxx Subject: Re: [PATCH] ReplicatedPG: For async-read, set the real result after completing read. Looks about right, file a pull request? -Sam On Thu, Jul 10, 2014 at 2:23 AM, Ma, Jianpeng <jianpeng.ma@xxxxxxxxx> wrote: > 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@xxxxxxxxx> > --- > src/osd/ReplicatedPG.cc | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index > cab3fde..ac0e8ad 100644 > --- a/src/osd/ReplicatedPG.cc > +++ b/src/osd/ReplicatedPG.cc > @@ -5318,7 +5318,7 @@ void ReplicatedPG::complete_read_ctx(int result, OpContext *ctx) > // on ENOENT, set a floor for what the next user version will be. > 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); > -- > 1.9.1 ��.n��������+%������w��{.n����z��u���ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f