From: tianzy Date: Mon, 30 Nov 2009 03:47:53 +0000 (+0000) Subject: Branch b1_8 X-Git-Tag: v1_8_2_06~1^2~13 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=49a72890eb22d30314a935802a002b706c5d73bd;p=fs%2Flustre-release.git Branch b1_8 when dqacq_interpret() can't unpack qunit_data, it will use original one so that no qunit will hang on there forever. b=21372 i=johann i=yong.fan --- diff --git a/lustre/quota/quota_context.c b/lustre/quota/quota_context.c index 3f085fb..1c384f8 100644 --- a/lustre/quota/quota_context.c +++ b/lustre/quota/quota_context.c @@ -794,7 +794,7 @@ static int dqacq_interpret(struct ptlrpc_request *req, void *data, int rc) if (rc1 < 0) { DEBUG_REQ(D_ERROR, req, "error unpacking qunit_data(rc: %d)\n", rc1); - GOTO(exit, rc = rc1); + *qdata = qunit->lq_data; } QDATA_DEBUG(qdata, "qdata: interpret rc(%d).\n", rc); @@ -828,7 +828,6 @@ static int dqacq_interpret(struct ptlrpc_request *req, void *data, int rc) rc = dqacq_completion(obd, qctxt, qdata, rc, lustre_msg_get_opc(req->rq_reqmsg)); -exit: OBD_FREE(qdata, sizeof(struct qunit_data)); RETURN(rc);