From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruno Alvisio Subject: [PATCH RFC v3 RESEND 02/12] Migration with Local Disks Mirroring: Added QMP commands used for mirroring disks Date: Sat, 23 Dec 2017 14:03:26 +0000 Message-ID: <1514037816-40864-3-git-send-email-bruno.alvisio@gmail.com> References: <1514037816-40864-1-git-send-email-bruno.alvisio@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1514037816-40864-1-git-send-email-bruno.alvisio@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org, wei.liu2@citrix.com, dave@recoil.org, ian.jackson@eu.citrix.com List-Id: xen-devel@lists.xenproject.org TWlncmF0aW9uIHdpdGggbG9jYWwgZGlza3MgbWlycm9yaW5nIHVzZXMgdGhlIGVtYmVkZGVkIE5C RCBzZXJ2ZXIgaW4gUUVNVS4gQSBOQkQKc2VydmVyIGlzIGFkZGVkIGluIGxpYnhsIGR1cmluZyBp bnN0YW5jZSBjcmVhdGlvbiB0aW1lIGluIHRoZSBkZXN0aW5hdGlvbiAoUU1QCmNvbW1hbmQ6IG5i ZF9zZXJ2ZXJfYWRkKS4gVGhlIGRyaXZlIG1pcnJvciBjb21tYW5kIChRTVA6IGRyaXZlcl9taXJy b3IpIGlzCmV4ZWN1dGVkIG9uIHRoZSBzb3VyY2UgZHVyaW5nICdpbnN0YW5jZSBzYXZlJyB0byBy ZXBsaWNhdGUgdGhlIGRpc2sgaW4gdGhlCmRlc3RpbmF0aW9uLiBXaGVuIHRoZSBsb2NhbCBkaXNr IG1pZ3JhdGlvbiBvcHRpb24gaXMgdXNlZCwgdGhlIFFFTVUgcHJvY2VzcyBpbgp0aGUgZGVzdGlu YXRpb24gd2lsbCBiZSBzdGFydGVkIHdpdGggdGhlICItaW5jb21pbmcgZGVmZXIiIG9wdGlvbiBp bnN0ZWFkIG9mCiItaW5jb21pbmcgZmQiLiBPbmNlIHRoZSBkaXNrIGFuZCBtZW1vcnkgaGF2ZSBi ZWVuIHRyYW5zZmVycmVkIHRvIHRoZQpkZXN0aW5hdGlvbiB0aGUgUUVNVSBwcm9jZXNzIHdpbGwg YmUgcmVzdW1lZCB1c2luZyB0aGUgbWlncmF0ZSBpbmNvbWluZyBjb21tYW5kCihRTVAgY29tbWFu ZDogbWlncmF0ZV9pbmNvbWluZykuCgpTaWduZWQtb2ZmLWJ5OiBCcnVubyBBbHZpc2lvIDxicnVu by5hbHZpc2lvQGdtYWlsLmNvbT4KLS0tCiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIHwg IDExICsrKysKIHRvb2xzL2xpYnhsL2xpYnhsX3FtcC5jICAgICAgfCAxMzkgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxNTAgaW5z ZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggYi90 b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4IGJmYTk1ZDguLjRkNzY3OWUgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKKysrIGIvdG9vbHMvbGlieGwvbGli eGxfaW50ZXJuYWwuaApAQCAtMTgzMCw2ICsxODMwLDE3IEBAIF9oaWRkZW4gaW50IGxpYnhsX19x bXBfbmJkX3NlcnZlcl9hZGQobGlieGxfX2djICpnYywgaW50IGRvbWlkLAogLyogU3RhcnQgcmVw bGljYXRpb24gKi8KIF9oaWRkZW4gaW50IGxpYnhsX19xbXBfc3RhcnRfcmVwbGljYXRpb24obGli eGxfX2djICpnYywgaW50IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBib29sIHByaW1hcnkpOworLyogTWlycm9yIGRyaXZlICovCitfaGlkZGVuIGludCBs aWJ4bF9fcW1wX2RyaXZlX21pcnJvcihsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9taWQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBkZXZpY2UsIGNvbnN0IGNo YXIqIHRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo YXIqIGZvcm1hdCk7CisvKiBRdWVyeSBibG9jayBkZXZpY2VzICovCitfaGlkZGVuIGludCBsaWJ4 bF9fcW1wX3F1ZXJ5X2Jsb2NrKGxpYnhsX19nYyAqZ2MsIGludCBkb21pZCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqZGV2aWNlX25hbWVzKTsKKy8qIFJlc3VtZSBR RU1VIHByb2Nlc3Mgc3RhcnRlZCB3aXRoIC1pbmNvbWluZyBkZWZlciBvcHRpb24gKi8KK19oaWRk ZW4gaW50IGxpYnhsX19xbXBfbWlncmF0ZV9pbmNvbWluZyhsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9t aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciog dXJpKTsKKwogLyogR2V0IHJlcGxpY2F0aW9uIGVycm9yIHRoYXQgb2NjdXJzIHdoZW4gdGhlIHZt IGlzIHJ1bm5pbmcgKi8KIF9oaWRkZW4gaW50IGxpYnhsX19xbXBfcXVlcnlfeGVuX3JlcGxpY2F0 aW9uX3N0YXR1cyhsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9taWQpOwogLyogRG8gY2hlY2twb2ludCAq LwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfcW1wLmMgYi90b29scy9saWJ4bC9saWJ4 bF9xbXAuYwppbmRleCAwZTk5M2FmLi4xYTFhMzE4IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9s aWJ4bF9xbXAuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9xbXAuYwpAQCAtMTE1OSw2ICsxMTU5 LDE0NSBAQCBpbnQgbGlieGxfX3FtcF9zdG9wX3JlcGxpY2F0aW9uKGxpYnhsX19nYyAqZ2MsIGlu dCBkb21pZCwgYm9vbCBwcmltYXJ5KQogICAgIHJldHVybiBxbXBfcnVuX2NvbW1hbmQoZ2MsIGRv bWlkLCAieGVuLXNldC1yZXBsaWNhdGlvbiIsIGFyZ3MsIE5VTEwsIE5VTEwpOwogfQogCitzdGF0 aWMgaW50IGJsb2NrX2pvYl9yZWFkeV9oYW5kbGVyKGxpYnhsX19xbXBfaGFuZGxlciAqcW1wLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9fanNvbl9vYmpl Y3QgKmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm9wYXF1 ZSkKK3sKKyAgICBHQ19JTklUKHFtcC0+Y3R4KTsKKyAgICBpbnQgcmMgPSAtMTsKKworICAgIGNv bnN0IGNoYXIgKnR5cGU7CisgICAgY29uc3QgY2hhciAqZGV2aWNlOworICAgIHVuc2lnbmVkIGlu dCBsZW47CisgICAgdW5zaWduZWQgaW50IG9mZnNldDsKKyAgICB1bnNpZ25lZCBpbnQgc3BlZWQ7 CisKKyAgICBjb25zdCBsaWJ4bF9fanNvbl9vYmplY3QgKm9iaiA9IE5VTEw7CisKKyAgICBvYmog PSBsaWJ4bF9fanNvbl9tYXBfZ2V0KCJ0eXBlIiwgZGF0YSwgSlNPTl9TVFJJTkcpOworICAgIGlm ICghb2JqKSB7CisgICAgICAgIExPR0QoRVJST1IsIHFtcC0+ZG9taWQsICJGYWlsZWQgdG8gcmV0 cmlldmUgam9iIHR5cGUuIik7CisgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgZ290 byBvdXQ7CisgICAgfQorICAgIHR5cGUgPSBsaWJ4bF9fanNvbl9vYmplY3RfZ2V0X3N0cmluZyhv YmopOworCisgICAgb2JqID0gbGlieGxfX2pzb25fbWFwX2dldCgiZGV2aWNlIiwgZGF0YSwgSlNP Tl9TVFJJTkcpOworICAgIGlmICghb2JqKSB7CisgICAgICAgIExPR0QoRVJST1IsIHFtcC0+ZG9t aWQsICJGYWlsZWQgdG8gcmV0cmlldmUgZGV2aWNlLiIpOworICAgICAgICByYyA9IEVSUk9SX0ZB SUw7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KKyAgICBkZXZpY2UgPSBsaWJ4bF9fanNvbl9v YmplY3RfZ2V0X3N0cmluZyhvYmopOworCisgICAgb2JqID0gbGlieGxfX2pzb25fbWFwX2dldCgi bGVuIiwgZGF0YSwgSlNPTl9JTlRFR0VSKTsKKyAgICBpZiAoIW9iaikgeworICAgICAgICBMT0dE KEVSUk9SLCBxbXAtPmRvbWlkLCAiRmFpbGVkIHRvIHJldHJpZXZlIGxlbmd0aC4iKTsKKyAgICAg ICAgcmMgPSBFUlJPUl9GQUlMOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisgICAgbGVuID0g bGlieGxfX2pzb25fb2JqZWN0X2dldF9pbnRlZ2VyKG9iaik7CisKKyAgICBvYmogPSBsaWJ4bF9f anNvbl9tYXBfZ2V0KCJvZmZzZXQiLCBkYXRhLCBKU09OX0lOVEVHRVIpOworICAgIGlmICghb2Jq KSB7CisgICAgICAgIExPR0QoRVJST1IsIHFtcC0+ZG9taWQsICJGYWlsZWQgdG8gcmV0cmlldmUg b2Zmc2V0LiIpOworICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CisgICAgICAgIGdvdG8gb3V0Owor ICAgIH0KKyAgICBvZmZzZXQgPSBsaWJ4bF9fanNvbl9vYmplY3RfZ2V0X2ludGVnZXIob2JqKTsK KworICAgIG9iaiA9IGxpYnhsX19qc29uX21hcF9nZXQoInNwZWVkIiwgZGF0YSwgSlNPTl9JTlRF R0VSKTsKKyAgICBpZiAoIW9iaikgeworICAgICAgICBMT0dEKEVSUk9SLCBxbXAtPmRvbWlkLCAi RmFpbGVkIHRvIHJldHJpZXZlIHNwZWVkLiIpOworICAgICAgICByYyA9IEVSUk9SX0ZBSUw7Cisg ICAgICAgIGdvdG8gb3V0OworICAgIH0KKyAgICBzcGVlZCA9IGxpYnhsX19qc29uX29iamVjdF9n ZXRfaW50ZWdlcihvYmopOworCisgICAgTE9HRChJTkZPLCBxbXAtPmRvbWlkLCAiQmxvY2sgSm9i IFJlYWR5OiBEZXRhaWxzOiBEZXZpY2U6ICVzLCBUeXBlOiAlcywgIgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgIkxlbjogJXUsIE9mZnNldDogJXUsIFNwZWVkICV1LiIsIGRldmljZSwgdHlw ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiwgb2Zmc2V0LCBzcGVlZCk7CisKKyAg ICByYyA9IDA7CitvdXQ6CisgICAgR0NfRlJFRTsKKyAgICByZXR1cm4gcmM7Cit9CisKK2ludCBs aWJ4bF9fcW1wX2RyaXZlX21pcnJvcihsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9taWQsIGNvbnN0IGNo YXIqIGRldmljZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiB0YXJn ZXQsIGNvbnN0IGNoYXIqIGZvcm1hdCkKK3sKKyAgICBsaWJ4bF9fcW1wX2hhbmRsZXIgKnFtcCA9 IE5VTEw7CisgICAgbGlieGxfX2pzb25fb2JqZWN0ICphcmdzID0gTlVMTDsKKyAgICBpbnQgYmxv Y2tfam9iX3RpbWVvdXQgPSAzNjAwOworICAgIGludCByYyA9IDA7CisKKyAgICBxbXAgPSBsaWJ4 bF9fcW1wX2luaXRpYWxpemUoZ2MsIGRvbWlkKTsKKyAgICBpZiAoIXFtcCkKKyAgICAgICAgcmV0 dXJuIC0xOworCisgICAgcW1wX3BhcmFtZXRlcnNfYWRkX3N0cmluZyhnYywgJmFyZ3MsICJkZXZp Y2UiLCBkZXZpY2UpOworICAgIHFtcF9wYXJhbWV0ZXJzX2FkZF9zdHJpbmcoZ2MsICZhcmdzLCAi dGFyZ2V0IiwgdGFyZ2V0KTsKKyAgICBxbXBfcGFyYW1ldGVyc19hZGRfc3RyaW5nKGdjLCAmYXJn cywgInN5bmMiLCAiZnVsbCIpOworICAgIHFtcF9wYXJhbWV0ZXJzX2FkZF9zdHJpbmcoZ2MsICZh cmdzLCAiZm9ybWF0IiwgZm9ybWF0KTsKKyAgICBxbXBfcGFyYW1ldGVyc19hZGRfc3RyaW5nKGdj LCAmYXJncywgIm1vZGUiLCAiZXhpc3RpbmciKTsKKyAgICBxbXBfcGFyYW1ldGVyc19hZGRfaW50 ZWdlcihnYywgJmFyZ3MsICJncmFudWxhcml0eSIsIDApOworICAgIHFtcF9wYXJhbWV0ZXJzX2Fk ZF9pbnRlZ2VyKGdjLCAmYXJncywgImJ1Zi1zaXplIiwgMCk7CisKKyAgICByYyA9IHFtcF9zeW5j aHJvbm91c19zZW5kKHFtcCwgImRyaXZlLW1pcnJvciIsIGFyZ3MsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBOVUxMLCBOVUxMLCBxbXAtPnRpbWVvdXQpOworCisgICAgaWYgKCAhcmMg KSB7CisgICAgICAgIGV2ZW50X2hhbmRsZXJfcGFpciBoZXAgPSB7CisgICAgICAgICAgICAuZXZl bnRfdHlwZSA9ICJCTE9DS19KT0JfUkVBRFkiLAorICAgICAgICAgICAgLmV2ZW50X2hhbmRsZXIg PSBibG9ja19qb2JfcmVhZHlfaGFuZGxlciwKKyAgICAgICAgfTsKKworICAgICAgICByYyA9IHdh aXRfZm9yX2V2ZW50KHFtcCwgJmhlcCwgYmxvY2tfam9iX3RpbWVvdXQpOworICAgIH0KKyAgICBs aWJ4bF9fcW1wX2Nsb3NlKHFtcCk7CisgICAgcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHF1 ZXJ5X2Jsb2NrX2NhbGxiYWNrKGxpYnhsX19xbXBfaGFuZGxlciAqcW1wLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9fanNvbl9vYmplY3QgKnJlc3BvbnNlLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvcGFxdWUpCit7CisgICAgR0Nf SU5JVChxbXAtPmN0eCk7CisgICAgY29uc3QgbGlieGxfX2pzb25fb2JqZWN0ICpibG9ja2luZm8g PSBOVUxMOworICAgIGludCBpLCByYyA9IC0xOworCisgICAgZm9yIChpID0gMDsgKGJsb2NraW5m byA9IGxpYnhsX19qc29uX2FycmF5X2dldChyZXNwb25zZSwgaSkpOyBpKyspIHsKKyAgICAgICAg Y29uc3QgbGlieGxfX2pzb25fb2JqZWN0ICpkOworICAgICAgICBjb25zdCBjaGFyKiBkZXZpY2Vf bmFtZTsKKyAgICAgICAgZCA9IGxpYnhsX19qc29uX21hcF9nZXQoImRldmljZSIsIGJsb2NraW5m bywgSlNPTl9TVFJJTkcpOworICAgICAgICBpZiAoIWQpCisgICAgICAgICAgICBnb3RvIG91dDsK KworICAgICAgICBkZXZpY2VfbmFtZSA9IGxpYnhsX19qc29uX29iamVjdF9nZXRfc3RyaW5nKGQp OworICAgIH0KKworICAgIHJjID0gMDsKK291dDoKKyAgICBHQ19GUkVFOworICAgIHJldHVybiBy YzsKK30KKworaW50IGxpYnhsX19xbXBfcXVlcnlfYmxvY2sobGlieGxfX2djICpnYywgaW50IGRv bWlkLCBjaGFyICpkZXZpY2VfbmFtZXMpCit7CisgICAgcmV0dXJuIHFtcF9ydW5fY29tbWFuZChn YywgZG9taWQsICJxdWVyeS1ibG9jayIsIE5VTEwsIHF1ZXJ5X2Jsb2NrX2NhbGxiYWNrLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlX25hbWVzKTsKK30KKworaW50IGxpYnhsX19x bXBfbWlncmF0ZV9pbmNvbWluZyhsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9taWQsIGNvbnN0IGNoYXIq IHVyaSkKK3sKKyAgICBsaWJ4bF9fanNvbl9vYmplY3QgKmFyZ3MgPSBOVUxMOworCisgICAgcW1w X3BhcmFtZXRlcnNfYWRkX3N0cmluZyhnYywgJmFyZ3MsICJ1cmkiLCB1cmkpOworCisgICAgcmV0 dXJuIHFtcF9ydW5fY29tbWFuZChnYywgZG9taWQsICJtaWdyYXRlLWluY29taW5nIiwgYXJncywg TlVMTCwgTlVMTCk7Cit9CisKIGludCBsaWJ4bF9fcW1wX25iZF9zZXJ2ZXJfc3RvcChsaWJ4bF9f Z2MgKmdjLCBpbnQgZG9taWQpCiB7CiAgICAgcmV0dXJuIHFtcF9ydW5fY29tbWFuZChnYywgZG9t aWQsICJuYmQtc2VydmVyLXN0b3AiLCBOVUxMLCBOVUxMLCBOVUxMKTsKLS0gCjIuMy4yIChBcHBs ZSBHaXQtNTUpCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==