[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