[sheepdog] [PATCH v3 4/8] sheep: refactor forward_write_obj_req()

Liu Yuan namei.unix at gmail.com
Wed Jun 27 08:51:34 CEST 2012


On 06/26/2012 06:02 PM, Christoph Hellwig wrote:
>> @@ -121,107 +207,51 @@ int forward_write_obj_req(struct request *req)
>> >  	oid_to_vnodes(req->vnodes, oid, nr_copies, obj_vnodes);
>> >  	for (i = 0; i < nr_copies; i++) {
>> >  		v = obj_vnodes[i];
>> > +		if (!vnode_is_local(v))
>> >  			continue;
>> >  		ret = do_local_io(req, fwd_hdr.epoch);
> Any reason you start the local I/O before the remote one?  Usually
> local I/O will be faster, so kicking off the remote I/O first and then
> the local I/O will deliver better latency.
> 

Yes, I thought if local write err happens (EIO or write_epoch <
sys_epoch) we don't do forward write. But with a second thought, we'd
better optimize for most normal cases. I'll reorder it back.

Thanks,
Yuan




More information about the sheepdog mailing list