At Thu, 18 Oct 2012 13:37:41 +0800,
Liu Yuan wrote:
> 
> On 10/18/2012 08:49 AM, MORITA Kazutaka wrote:
> > @@ -91,7 +91,7 @@ static int recover_object_from_replica(uint64_t oid, 
> > struct sd_vnode *vnode,
> >     hdr.obj.oid = oid;
> >     hdr.obj.tgt_epoch = tgt_epoch;
> >  
> > -   ret = sheep_exec_req(&vnode->nid, &hdr, buf, &wlen, &rlen);
> > +   ret = sheep_exec_req(&vnode->nid, &hdr, buf, &rlen);
> >     if (ret != SD_RES_SUCCESS)
> >             goto out;
> 
> We actually don't need rlen to indicate how many bytes we read, since we
> only expect a full read, partial read means failure. So I think we can

It is not correct because some operations allow short read:

 - SD_OP_GET_NODE_LIST
 - SD_OP_TRACE_READ_BUF
 - SD_OP_READ_PEER (the current code trims redundant zero bytes to
                    reduce network and disk I/Os)

But, on second thought, I noticed that we can get the read size from
rsp->data_length.  I'll send a v2.

Thanks,

Kazutaka

> completely remove rlen para from sheep_exec_req() and exec_req().
> 
> Thanks,
> Yuan
> -- 
> sheepdog mailing list
> [email protected]
> http://lists.wpkg.org/mailman/listinfo/sheepdog
-- 
sheepdog mailing list
[email protected]
http://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to