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 |