From: vitaly Date: Mon, 17 Nov 2008 17:46:10 +0000 (+0000) Subject: Branch b1_8_gate X-Git-Tag: v1_7_142~1^179~1 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=704464c18c38a32f8c9f14e000bcf15a6bacf3d5;p=fs%2Flustre-release.git Branch b1_8_gate b=17239 i=adilger i=shadow async lov_sync() operation. --- diff --git a/lustre/ost/ost_handler.c b/lustre/ost/ost_handler.c index 91d9ceb..e874ad8 100644 --- a/lustre/ost/ost_handler.c +++ b/lustre/ost/ost_handler.c @@ -321,6 +321,7 @@ static int ost_punch(struct obd_export *exp, struct ptlrpc_request *req, static int ost_sync(struct obd_export *exp, struct ptlrpc_request *req) { + struct obd_info oinfo = { { { 0 } } }; struct ost_body *body, *repbody; __u32 size[2] = { sizeof(struct ptlrpc_body), sizeof(*repbody) }; int rc; @@ -337,9 +338,11 @@ static int ost_sync(struct obd_export *exp, struct ptlrpc_request *req) repbody = lustre_msg_buf(req->rq_repmsg, REPLY_REC_OFF, sizeof(*repbody)); - memcpy(&repbody->oa, &body->oa, sizeof(body->oa)); - req->rq_status = obd_sync(exp, &repbody->oa, NULL, repbody->oa.o_size, - repbody->oa.o_blocks); + + oinfo.oi_oa = &body->oa; + req->rq_status = obd_sync(exp, &oinfo, repbody->oa.o_size, + repbody->oa.o_blocks, NULL); + repbody->oa = *oinfo.oi_oa; RETURN(0); }