From mboxrd@z Thu Jan 1 00:00:00 1970 From: Changlong Xie Subject: [PATCH v13 19/26] Introduce COLO mode and refactor relevant function Date: Fri, 25 Mar 2016 14:44:26 +0800 Message-ID: <1458888273-7469-20-git-send-email-xiecl.fnst@cn.fujitsu.com> References: <1458888273-7469-1-git-send-email-xiecl.fnst@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458888273-7469-1-git-send-email-xiecl.fnst@cn.fujitsu.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen devel , Konrad Rzeszutek Wilk , Andrew Cooper , Ian Campbell , Ian Jackson , Wei Liu Cc: Lars Kurth , Changlong Xie , Wen Congyang , Li Zhijian , Gui Jianfeng , Jiang Yunhong , Dong Eddie , Anthony Perard , Shriram Rajagopalan , Yang Hongyang List-Id: xen-devel@lists.xenproject.org Tm8gZnVuY3Rpb25hbCBjaGFuZ2VzLgoKU2lnbmVkLW9mZi1ieTogV2VuIENvbmd5YW5nIDx3ZW5j eUBjbi5mdWppdHN1LmNvbT4KU2lnbmVkLW9mZi1ieTogQ2hhbmdsb25nIFhpZSA8eGllY2wuZm5z dEBjbi5mdWppdHN1LmNvbT4KQWNrZWQtYnk6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5j aXRyaXguY29tPgotLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2RtLmMgfCA2NSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDU5 IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwv bGlieGxfZG0uYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMKaW5kZXggY2ZkYTI0Yy4uMWQxYjI1 YiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYworKysgYi90b29scy9saWJ4bC9s aWJ4bF9kbS5jCkBAIC03NTEsNiArNzUxLDUxIEBAIHN0YXRpYyBpbnQgbGlieGxfX2RtX3J1bmFz X2hlbHBlcihsaWJ4bF9fZ2MgKmdjLCBjb25zdCBjaGFyICp1c2VybmFtZSkKICAgICB9CiB9CiAK Ky8qIGNvbG8gbW9kZSAqLworZW51bSB7CisgICAgTElCWExfX0NPTE9fTk9ORSA9IDAsCit9Owor CitzdGF0aWMgY2hhciAqcWVtdV9kaXNrX3Njc2lfZHJpdmVfc3RyaW5nKGxpYnhsX19nYyAqZ2Ms IGNvbnN0IGNoYXIgKnBkZXZfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW50IHVuaXQsIGNvbnN0IGNoYXIgKmZvcm1hdCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2ssCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjb2xvX21vZGUpCit7 CisgICAgY2hhciAqZHJpdmUgPSBOVUxMOworCisgICAgc3dpdGNoIChjb2xvX21vZGUpIHsKKyAg ICBjYXNlIExJQlhMX19DT0xPX05PTkU6CisgICAgICAgIGRyaXZlID0gbGlieGxfX3NwcmludGYK KyAgICAgICAgICAgIChnYywgImZpbGU9JXMsaWY9c2NzaSxidXM9MCx1bml0PSVkLGZvcm1hdD0l cyxjYWNoZT13cml0ZWJhY2siLAorICAgICAgICAgICAgIHBkZXZfcGF0aCwgdW5pdCwgZm9ybWF0 KTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgIGFib3J0KCk7CisgICAg fQorCisgICAgcmV0dXJuIGRyaXZlOworfQorCitzdGF0aWMgY2hhciAqcWVtdV9kaXNrX2lkZV9k cml2ZV9zdHJpbmcobGlieGxfX2djICpnYywgY29uc3QgY2hhciAqcGRldl9wYXRoLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB1bml0LCBjb25zdCBjaGFyICpm b3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGli eGxfZGV2aWNlX2Rpc2sgKmRpc2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW50IGNvbG9fbW9kZSkKK3sKKyAgICBjaGFyICpkcml2ZSA9IE5VTEw7CisKKyAgICBz d2l0Y2ggKGNvbG9fbW9kZSkgeworICAgIGNhc2UgTElCWExfX0NPTE9fTk9ORToKKyAgICAgICAg ZHJpdmUgPSBHQ1NQUklOVEYKKyAgICAgICAgICAgICgiZmlsZT0lcyxpZj1pZGUsaW5kZXg9JWQs bWVkaWE9ZGlzayxmb3JtYXQ9JXMsY2FjaGU9d3JpdGViYWNrIiwKKyAgICAgICAgICAgICBwZGV2 X3BhdGgsIHVuaXQsIGZvcm1hdCk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAg ICAgICBhYm9ydCgpOworICAgIH0KKworICAgIHJldHVybiBkcml2ZTsKK30KKwogc3RhdGljIGlu dCBsaWJ4bF9fYnVpbGRfZGV2aWNlX21vZGVsX2FyZ3NfbmV3KGxpYnhsX19nYyAqZ2MsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZG0sIGludCBn dWVzdF9kb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBsaWJ4bF9kb21haW5fY29uZmlnICpndWVzdF9jb25maWcsCkBAIC0xMTcwLDYgKzEyMTUsNyBA QCBzdGF0aWMgaW50IGxpYnhsX19idWlsZF9kZXZpY2VfbW9kZWxfYXJnc19uZXcobGlieGxfX2dj ICpnYywKICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZvcm1hdCA9IHFlbXVfZGlza19mb3JtYXRf c3RyaW5nKGRpc2tzW2ldLmZvcm1hdCk7CiAgICAgICAgICAgICBjaGFyICpkcml2ZTsKICAgICAg ICAgICAgIGNvbnN0IGNoYXIgKnBkZXZfcGF0aDsKKyAgICAgICAgICAgIGludCBjb2xvX21vZGU7 CiAKICAgICAgICAgICAgIGlmIChkZXZfbnVtYmVyID09IC0xKSB7CiAgICAgICAgICAgICAgICAg TE9HKFdBUk4sICJ1bmFibGUgdG8gZGV0ZXJtaW5lIiIgZGlzayBudW1iZXIgZm9yICVzIiwKQEAg LTEyMTQsMTAgKzEyNjAsMTMgQEAgc3RhdGljIGludCBsaWJ4bF9fYnVpbGRfZGV2aWNlX21vZGVs X2FyZ3NfbmV3KGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgICogRm9yIG90aGVyIGRp c2tzIHdlIHRyYW5zbGF0ZSBkZXZpY2VzIDAuLjMgaW50bwogICAgICAgICAgICAgICAgICAqIGhk W2EtZF0gYW5kIGlnbm9yZSB0aGUgcmVzdC4KICAgICAgICAgICAgICAgICAgKi8KKworICAgICAg ICAgICAgICAgIGNvbG9fbW9kZSA9IExJQlhMX19DT0xPX05PTkU7CiAgICAgICAgICAgICAgICAg aWYgKHN0cm5jbXAoZGlza3NbaV0udmRldiwgInNkIiwgMikgPT0gMCkgewotICAgICAgICAgICAg ICAgICAgICBkcml2ZSA9IGxpYnhsX19zcHJpbnRmCi0gICAgICAgICAgICAgICAgICAgICAgICAo Z2MsICJmaWxlPSVzLGlmPXNjc2ksYnVzPTAsdW5pdD0lZCxmb3JtYXQ9JXMscmVhZG9ubHk9JXMs Y2FjaGU9d3JpdGViYWNrIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBwZGV2X3BhdGgsIGRp c2ssIGZvcm1hdCwgZGlza3NbaV0ucmVhZHdyaXRlID8gIm9mZiIgOiAib24iKTsKKyAgICAgICAg ICAgICAgICAgICAgZHJpdmUgPSBxZW11X2Rpc2tfc2NzaV9kcml2ZV9zdHJpbmcoZ2MsIHBkZXZf cGF0aCwgZGlzaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmZGlza3NbaV0sCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9fbW9kZSk7CiAgICAgICAgICAgICAg ICAgfSBlbHNlIGlmIChzdHJuY21wKGRpc2tzW2ldLnZkZXYsICJ4dmQiLCAzKSA9PSAwKSB7CiAg ICAgICAgICAgICAgICAgICAgIC8qCiAgICAgICAgICAgICAgICAgICAgICAqIERvIG5vdCBhZGQg YW55IGVtdWxhdGVkIGRpc2sgd2hlbiBQViBkaXNrIGFyZQpAQCAtMTI0MCwxMiArMTI4OSwxNiBA QCBzdGF0aWMgaW50IGxpYnhsX19idWlsZF9kZXZpY2VfbW9kZWxfYXJnc19uZXcobGlieGxfX2dj ICpnYywKICAgICAgICAgICAgICAgICAgICAgICAgIExPRyhFUlJPUiwgInFlbXUteGVuIGRvZXNu J3Qgc3VwcG9ydCByZWFkLW9ubHkgSURFIGRpc2sgZHJpdmVycyIpOwogICAgICAgICAgICAgICAg ICAgICAgICAgcmV0dXJuIEVSUk9SX0lOVkFMOwogICAgICAgICAgICAgICAgICAgICB9Ci0gICAg ICAgICAgICAgICAgICAgIGRyaXZlID0gbGlieGxfX3NwcmludGYKLSAgICAgICAgICAgICAgICAg ICAgICAgIChnYywgImZpbGU9JXMsaWY9aWRlLGluZGV4PSVkLG1lZGlhPWRpc2ssZm9ybWF0PSVz LGNhY2hlPXdyaXRlYmFjayIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcGRldl9wYXRoLCBk aXNrLCBmb3JtYXQpOworICAgICAgICAgICAgICAgICAgICBkcml2ZSA9IHFlbXVfZGlza19pZGVf ZHJpdmVfc3RyaW5nKGdjLCBwZGV2X3BhdGgsIGRpc2ssCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0LAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkaXNrc1tpXSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvX21v ZGUpOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRp bnVlOyAvKiBEbyBub3QgZW11bGF0ZSB0aGlzIGRpc2sgKi8KICAgICAgICAgICAgICAgICB9CisK KyAgICAgICAgICAgICAgICBpZiAoIWRyaXZlKQorICAgICAgICAgICAgICAgICAgICBjb250aW51 ZTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdz LCAiLWRyaXZlIik7Ci0tIAoxLjkuMwoKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMu eGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK