From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruno Alvisio Subject: [PATCH RFC v2 1/8] Added QMP commands for adding NBD server and disk migration Date: Wed, 18 Oct 2017 10:26:28 -0700 Message-ID: <1508347595-11657-2-git-send-email-bruno.alvisio@gmail.com> References: <1508347595-11657-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: <1508347595-11657-1-git-send-email-bruno.alvisio@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: wei.liu2@citrix.com, ian.jackson@eu.citrix.com, bruno.alvisio@gmail.com, dave@recoil.org List-Id: xen-devel@lists.xenproject.org LS0tCiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIHwgIDE4ICsrKysrKysKIHRvb2xzL2xp YnhsL2xpYnhsX3FtcC5jICAgICAgfCAxMjUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCAxNDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggYi90b29s cy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4IDcyNDc1MDkuLjEzNDlhOGYgMTAwNjQ0Ci0t LSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGxf aW50ZXJuYWwuaApAQCAtMTgzNSw2ICsxODM1LDI0IEBAIF9oaWRkZW4gaW50IGxpYnhsX19xbXBf bmJkX3NlcnZlcl9hZGQobGlieGxfX2djICpnYywgaW50IGRvbWlkLAogLyogU3RhcnQgcmVwbGlj YXRpb24gKi8KIF9oaWRkZW4gaW50IGxpYnhsX19xbXBfc3RhcnRfcmVwbGljYXRpb24obGlieGxf X2djICpnYywgaW50IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBib29sIHByaW1hcnkpOworCisvKiBBZGQgYSBkaXNrIHRvIE5CRCBzZXJ2ZXIgKi8KK19o aWRkZW4gaW50IGxpYnhsX19xbXBfbmJkX3NlcnZlcl9hZGQobGlieGxfX2djICpnYywgaW50IGRv bWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAq ZGlzayk7CisKKy8qIE1pcnJvciBkaXNrIGRyaXZlICovCitfaGlkZGVuIGludCBsaWJ4bF9fcW1w X2RyaXZlX21pcnJvcihsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9taWQsIGNvbnN0IGNoYXIqIGRldmlj ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHRhcmdl dCwgY29uc3QgY2hhciogZm9ybWF0KTsKKworLyogUXVlcnkgYmxvY2sgZGV2aWNlcyAqLworX2hp ZGRlbiBpbnQgbGlieGxfX3FtcF9xdWVyeV9ibG9jayhsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9taWQs IGNoYXIgKmRldmljZV9uYW1lcyk7CisKKy8qIFF1ZXJ5IGV4aXN0aW5nIGJsb2NrIGpvYnMqLwor X2hpZGRlbiBpbnQgbGlieGxfX3FtcF9xdWVyeV9ibG9ja19qb2JzKGxpYnhsX19nYyAqZ2MsIGlu dCBkb21pZCwgYm9vbCAqaXNfcmVhZHkpOworCisvKiBSZXN1bWUgUUVNVSBwcm9jZXNzIHN0YXJ0 ZWQgd2l0aCAtaW5jb21pbmcgZGVmZXIgKi8KK19oaWRkZW4gaW50IGxpYnhsX19xbXBfbWlncmF0 ZV9pbmNvbWluZyhsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9taWQsIGNvbnN0IGNoYXIqIHVyaSk7CisK IC8qIEdldCByZXBsaWNhdGlvbiBlcnJvciB0aGF0IG9jY3VycyB3aGVuIHRoZSB2bSBpcyBydW5u aW5nICovCiBfaGlkZGVuIGludCBsaWJ4bF9fcW1wX3F1ZXJ5X3hlbl9yZXBsaWNhdGlvbl9zdGF0 dXMobGlieGxfX2djICpnYywgaW50IGRvbWlkKTsKIC8qIERvIGNoZWNrcG9pbnQgKi8KZGlmZiAt LWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3FtcC5jIGIvdG9vbHMvbGlieGwvbGlieGxfcW1wLmMK aW5kZXggZWFiOTkzYS4uZmU2ZjA3NiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfcW1w LmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfcW1wLmMKQEAgLTM0Nyw3ICszNDcsMTAgQEAgc3Rh dGljIGxpYnhsX19xbXBfaGFuZGxlciAqcW1wX2luaXRfaGFuZGxlcihsaWJ4bF9fZ2MgKmdjLCB1 aW50MzJfdCBkb21pZCkKICAgICB9CiAgICAgcW1wLT5jdHggPSBDVFg7CiAgICAgcW1wLT5kb21p ZCA9IGRvbWlkOwotICAgIHFtcC0+dGltZW91dCA9IDU7CisKKyAgICAvL1RPRE86IENoYW5nZWQg ZGVmYXVsdCB0aW1lb3V0IGJlY2F1c2UgZHJpdmUtbWlycm9yIGNvbW1hbmQgdGFrZXMgYSBsb25n CisgICAgLy9UT0RPOiB0byByZXR1cm4uIENvbnNpZGVyIHRpbWVvdXQgdG8gYmUgcGFzc2VkIGFz IHBhcmFtLgorICAgIHFtcC0+dGltZW91dCA9IDYwMDsKIAogICAgIExJQlhMX1NUQUlMUV9JTklU KCZxbXAtPmNhbGxiYWNrX2xpc3QpOwogCkBAIC0xMDY5LDYgKzEwNzIsMTI2IEBAIGludCBsaWJ4 bF9fcW1wX25iZF9zZXJ2ZXJfYWRkKGxpYnhsX19nYyAqZ2MsIGludCBkb21pZCwgY29uc3QgY2hh ciAqZGlzaykKICAgICByZXR1cm4gcW1wX3J1bl9jb21tYW5kKGdjLCBkb21pZCwgIm5iZC1zZXJ2 ZXItYWRkIiwgYXJncywgTlVMTCwgTlVMTCk7CiB9CiAKK2ludCBsaWJ4bF9fcW1wX2RyaXZlX21p cnJvcihsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9taWQsIGNvbnN0IGNoYXIqIGRldmljZSwgY29uc3Qg Y2hhciogdGFyZ2V0LCBjb25zdCBjaGFyKiBmb3JtYXQpCit7CisgICAgbGlieGxfX2pzb25fb2Jq ZWN0ICphcmdzID0gTlVMTDsKKyAgICAvL1RPRE86IEFsbG93IG1ldGhvZCB0byByZWNlaXZlICJz eW5jIiwgInNwZWVkIiwgIm1vZGUiLCAiZ3JhbnVyYWxpdHkiLCAiYnVmLXNpemUiCisgICAgcW1w X3BhcmFtZXRlcnNfYWRkX3N0cmluZyhnYywgJmFyZ3MsICJkZXZpY2UiLCBkZXZpY2UpOworICAg IHFtcF9wYXJhbWV0ZXJzX2FkZF9zdHJpbmcoZ2MsICZhcmdzLCAidGFyZ2V0IiwgdGFyZ2V0KTsK KyAgICBxbXBfcGFyYW1ldGVyc19hZGRfc3RyaW5nKGdjLCAmYXJncywgInN5bmMiLCAiZnVsbCIp OworICAgIHFtcF9wYXJhbWV0ZXJzX2FkZF9zdHJpbmcoZ2MsICZhcmdzLCAiZm9ybWF0IiwgZm9y bWF0KTsKKyAgICBxbXBfcGFyYW1ldGVyc19hZGRfc3RyaW5nKGdjLCAmYXJncywgIm1vZGUiLCAi ZXhpc3RpbmciKTsKKyAgICBxbXBfcGFyYW1ldGVyc19hZGRfaW50ZWdlcihnYywgJmFyZ3MsICJn cmFudWxhcml0eSIsIDApOworICAgIHFtcF9wYXJhbWV0ZXJzX2FkZF9pbnRlZ2VyKGdjLCAmYXJn cywgImJ1Zi1zaXplIiwgMCk7CisKKyAgICByZXR1cm4gcW1wX3J1bl9jb21tYW5kKGdjLCBkb21p ZCwgImRyaXZlLW1pcnJvciIsIGFyZ3MsIE5VTEwsIE5VTEwpOworfQorCitzdGF0aWMgaW50IHF1 ZXJ5X2Jsb2NrX2NhbGxiYWNrKGxpYnhsX19xbXBfaGFuZGxlciAqcW1wLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAqcmVzcG9uc2UsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3BhcXVlKQoreworICAgIGNvbnN0 IGxpYnhsX19qc29uX29iamVjdCAqYmxvY2tpbmZvID0gTlVMTDsKKyAgICBHQ19JTklUKHFtcC0+ Y3R4KTsKKyAgICBpbnQgaSwgcmMgPSAtMTsKKworICAgIGZvciAoaSA9IDA7IChibG9ja2luZm8g PSBsaWJ4bF9fanNvbl9hcnJheV9nZXQocmVzcG9uc2UsIGkpKTsgaSsrKSB7CisgICAgICAgIGNv bnN0IGxpYnhsX19qc29uX29iamVjdCAqZDsKKyAgICAgICAgY29uc3QgY2hhciogZGV2aWNlX25h bWU7CisgICAgICAgIGQgPSBsaWJ4bF9fanNvbl9tYXBfZ2V0KCJkZXZpY2UiLCBibG9ja2luZm8s IEpTT05fU1RSSU5HKTsKKyAgICAgICAgaWYoIWQpeworICAgICAgICAgICAgZ290byBvdXQ7Cisg ICAgICAgIH0KKyAgICAgICAgZGV2aWNlX25hbWUgPSBsaWJ4bF9fanNvbl9vYmplY3RfZ2V0X3N0 cmluZyhkKTsKKyAgICB9CisKKyAgICByYyA9IDA7CitvdXQ6CisgICAgR0NfRlJFRTsKKyAgICBy ZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgcXVlcnlfYmxvY2tfam9ic19jYWxsYmFjayhsaWJ4 bF9fcW1wX2hhbmRsZXIgKnFtcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBsaWJ4bF9fanNvbl9vYmplY3QgKnJlc3BvbnNlLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHZvaWQgKm9wYXF1ZSkKK3sKKyAgICBjb25zdCBsaWJ4bF9fanNvbl9vYmplY3QgKmJs b2Nram9iaW5mbyA9IE5VTEw7CisgICAgR0NfSU5JVChxbXAtPmN0eCk7CisgICAgaW50IGksIHJj ID0gLTE7CisgICAgYm9vbCBlbXB0eSA9IHRydWU7CisKKyAgICBmb3IgKGkgPSAwOyAoYmxvY2tq b2JpbmZvID0gbGlieGxfX2pzb25fYXJyYXlfZ2V0KHJlc3BvbnNlLCBpKSk7IGkrKykgeworICAg ICAgICBlbXB0eSA9IGZhbHNlOworICAgICAgICBjb25zdCBjaGFyICp0eXBlOworICAgICAgICBj b25zdCBjaGFyICpkZXZpY2U7CisgICAgICAgIHVuc2lnbmVkIGludCBsZW47CisgICAgICAgIHVu c2lnbmVkIGludCBvZmZzZXQ7CisgICAgICAgIGJvb2wgYnVzeTsKKyAgICAgICAgYm9vbCBwYXVz ZWQ7CisgICAgICAgIGNvbnN0IGNoYXIgKmlvc3RhdHVzOworICAgICAgICBib29sIHJlYWR5Owor CisgICAgICAgIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAqdHlwZV9vID0gTlVMTDsKKyAgICAg ICAgY29uc3QgbGlieGxfX2pzb25fb2JqZWN0ICpkZXZpY2VfbyA9IE5VTEw7CisgICAgICAgIGNv bnN0IGxpYnhsX19qc29uX29iamVjdCAqbGVuX28gPSBOVUxMOworICAgICAgICBjb25zdCBsaWJ4 bF9fanNvbl9vYmplY3QgKm9mZnNldF9vID0gTlVMTDsKKyAgICAgICAgY29uc3QgbGlieGxfX2pz b25fb2JqZWN0ICpidXN5X28gPSBOVUxMOworICAgICAgICBjb25zdCBsaWJ4bF9fanNvbl9vYmpl Y3QgKnBhdXNlZF9vID0gTlVMTDsKKyAgICAgICAgY29uc3QgbGlieGxfX2pzb25fb2JqZWN0ICpp b19zdGF0dXNfbyA9IE5VTEw7CisgICAgICAgIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAqcmVh ZHlfbyA9IE5VTEw7CisKKyAgICAgICAgdHlwZV9vID0gbGlieGxfX2pzb25fbWFwX2dldCgidHlw ZSIsIGJsb2Nram9iaW5mbywgSlNPTl9TVFJJTkcpOworICAgICAgICBkZXZpY2VfbyA9IGxpYnhs X19qc29uX21hcF9nZXQoImRldmljZSIsIGJsb2Nram9iaW5mbywgSlNPTl9TVFJJTkcpOworICAg ICAgICBsZW5fbyA9IGxpYnhsX19qc29uX21hcF9nZXQoImxlbiIsIGJsb2Nram9iaW5mbywgSlNP Tl9JTlRFR0VSKTsKKyAgICAgICAgb2Zmc2V0X28gPSBsaWJ4bF9fanNvbl9tYXBfZ2V0KCJvZmZz ZXQiLCBibG9ja2pvYmluZm8sIEpTT05fSU5URUdFUik7CisgICAgICAgIGJ1c3lfbyA9IGxpYnhs X19qc29uX21hcF9nZXQoImJ1c3kiLCBibG9ja2pvYmluZm8sIEpTT05fQk9PTCk7CisgICAgICAg IHBhdXNlZF9vID0gbGlieGxfX2pzb25fbWFwX2dldCgidHlwZSIsIGJsb2Nram9iaW5mbywgSlNP Tl9CT09MKTsKKyAgICAgICAgaW9fc3RhdHVzX28gPSBsaWJ4bF9fanNvbl9tYXBfZ2V0KCJpby1z dGF0dXMiLCBibG9ja2pvYmluZm8sIEpTT05fU1RSSU5HKTsKKyAgICAgICAgcmVhZHlfbyA9IGxp YnhsX19qc29uX21hcF9nZXQoInJlYWR5IiwgYmxvY2tqb2JpbmZvLCBKU09OX0JPT0wpOworCisg ICAgICAgIHR5cGUgPSBsaWJ4bF9fanNvbl9vYmplY3RfZ2V0X3N0cmluZyh0eXBlX28pOworICAg ICAgICBkZXZpY2UgPSBsaWJ4bF9fanNvbl9vYmplY3RfZ2V0X3N0cmluZyhkZXZpY2Vfbyk7Cisg ICAgICAgIGxlbiA9IGxpYnhsX19qc29uX29iamVjdF9nZXRfaW50ZWdlcihsZW5fbyk7CisgICAg ICAgIG9mZnNldCA9IGxpYnhsX19qc29uX29iamVjdF9nZXRfaW50ZWdlcihvZmZzZXRfbyk7Cisg ICAgICAgIGJ1c3kgPSBsaWJ4bF9fanNvbl9vYmplY3RfZ2V0X2Jvb2wobGVuX28pOworICAgICAg ICBwYXVzZWQgPSBsaWJ4bF9fanNvbl9vYmplY3RfZ2V0X2Jvb2wocGF1c2VkX28pOworICAgICAg ICBpb3N0YXR1cyA9IGxpYnhsX19qc29uX29iamVjdF9nZXRfc3RyaW5nKGlvX3N0YXR1c19vKTsK KyAgICAgICAgcmVhZHkgPSBsaWJ4bF9fanNvbl9vYmplY3RfZ2V0X2Jvb2wocmVhZHlfbyk7CisK KyAgICAgICAgYm9vbCAqaXNfcmVhZHkgPSBvcGFxdWU7CisgICAgICAgICppc19yZWFkeSA9IHJl YWR5OworICAgIH0KKworICAgIGlmKGVtcHR5KXsKKyAgICAgICAgYm9vbCAqaXNfcmVhZHkgPSBv cGFxdWU7CisgICAgICAgICppc19yZWFkeSA9IHRydWU7CisgICAgfQorCisgICAgcmMgPSAwOwor CisgICAgR0NfRlJFRTsKKyAgICByZXR1cm4gcmM7Cit9CisKK2ludCBsaWJ4bF9fcW1wX3F1ZXJ5 X2Jsb2NrKGxpYnhsX19nYyAqZ2MsIGludCBkb21pZCwgY2hhciAqZGV2aWNlX25hbWVzKQorewor ICAgIHJldHVybiBxbXBfcnVuX2NvbW1hbmQoZ2MsIGRvbWlkLCAicXVlcnktYmxvY2siLCBOVUxM LCBxdWVyeV9ibG9ja19jYWxsYmFjaywgZGV2aWNlX25hbWVzKTsKK30KKworaW50IGxpYnhsX19x bXBfcXVlcnlfYmxvY2tfam9icyhsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9taWQsIGJvb2wgKmlzX3Jl YWR5KQoreworICAgIHJldHVybiBxbXBfcnVuX2NvbW1hbmQoZ2MsIGRvbWlkLCAicXVlcnktYmxv Y2stam9icyIsIE5VTEwsIHF1ZXJ5X2Jsb2NrX2pvYnNfY2FsbGJhY2ssIGlzX3JlYWR5KTsKK30K KworaW50IGxpYnhsX19xbXBfbWlncmF0ZV9pbmNvbWluZyhsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9t aWQsIGNvbnN0IGNoYXIqIHVyaSkKK3sKKyAgICBsaWJ4bF9fanNvbl9vYmplY3QgKmFyZ3MgPSBO VUxMOworCisgICAgcW1wX3BhcmFtZXRlcnNfYWRkX3N0cmluZyhnYywgJmFyZ3MsICJ1cmkiLCB1 cmkpOworCisgICAgcmV0dXJuIHFtcF9ydW5fY29tbWFuZChnYywgZG9taWQsICJtaWdyYXRlLWlu Y29taW5nIiwgYXJncywgTlVMTCwgTlVMTCk7Cit9CisKIGludCBsaWJ4bF9fcW1wX3N0YXJ0X3Jl cGxpY2F0aW9uKGxpYnhsX19nYyAqZ2MsIGludCBkb21pZCwgYm9vbCBwcmltYXJ5KQogewogICAg IGxpYnhsX19qc29uX29iamVjdCAqYXJncyA9IE5VTEw7Ci0tIAoyLjMuMiAoQXBwbGUgR2l0LTU1 KQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54 ZW4ub3JnL3hlbi1kZXZlbAo=