From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau =?utf-8?B?TW9ubsOp?= Subject: Re: [PATCH v4 14/32] libxl_qmp: Implement fd callback and read data Date: Thu, 2 Aug 2018 11:56:11 +0200 Message-ID: <20180802095611.rkwheom3epys2fyh@mac> References: <20180727140614.13256-1-anthony.perard@citrix.com> <20180727140614.13256-15-anthony.perard@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1flALF-0004LC-Pk for xen-devel@lists.xenproject.org; Thu, 02 Aug 2018 09:56:21 +0000 Content-Disposition: inline In-Reply-To: <20180727140614.13256-15-anthony.perard@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Anthony PERARD Cc: xen-devel@lists.xenproject.org, Ian Jackson , Wei Liu List-Id: xen-devel@lists.xenproject.org T24gRnJpLCBKdWwgMjcsIDIwMTggYXQgMDM6MDU6NTZQTSArMDEwMCwgQW50aG9ueSBQRVJBUkQg d3JvdGU6Cj4gRmlyc3Qgc3RlcCBpbnRvIHRha2luZyBjYXJlIG9mIHRoZSBpbnB1dCBmcm9tIFFF TVUncyBRTVAgc29ja2V0LiBGb3IKPiBub3csIHdlIHJlYWQgZGF0YSBhbmQgc3RvcmUgdGhlbSBp biBhIGJ1ZmZlci4KPiAKPiBQYXJzaW5nIG9mIHRoZSBkYXRhIHdpbGwgYmUgZG9uZSBpbiB0aGUg Zm9sbG93aW5nIHBhdGNoZXMuCj4gCj4gU2lnbmVkLW9mZi1ieTogQW50aG9ueSBQRVJBUkQgPGFu dGhvbnkucGVyYXJkQGNpdHJpeC5jb20+Cj4gLS0tCj4gCj4gTm90ZXM6Cj4gICAgIHY0Ogo+ICAg ICAgICAgcmVtb3ZlIHVzZSBvZiBhIGxpbmtlZCBsaXN0IG9mIHJlY2VpdmUgYnVmZmVyLCBhbmQg dXNlIHJlYWxsb2MgaW5zdGVhZC4KPiAKPiAgdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCB8 ICAgOSArKysrCj4gIHRvb2xzL2xpYnhsL2xpYnhsX3FtcC5jICAgICAgfCAxMDEgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgMiBmaWxlcyBjaGFuZ2VkLCAxMTAgaW5zZXJ0 aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIGIv dG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAo+IGluZGV4IDkwYWM0OGE2NTkuLjhjMzYyNWEy NDMgMTAwNjQ0Cj4gLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAo+ICsrKyBiL3Rv b2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKPiBAQCAtNDM4LDYgKzQzOCwxNSBAQCBzdHJ1Y3Qg bGlieGxfX2V2X3FtcCB7Cj4gICAgICBsaWJ4bF9fY2FyZWZkICpxbXBfY2ZkOwo+ICAgICAgbGli eGxfX2V2X2ZkIHFtcF9lZmQ7Cj4gICAgICBsaWJ4bF9fcW1wX3N0YXRlIHFtcF9zdGF0ZTsKPiAr Cj4gKyAgICAvKiByZWNlaXZlIGJ1ZmZlciwgd2l0aDoKPiArICAgICAqIGJ1Zl9zaXplOiBjdXJy ZW50IGFsbG9jYXRlZCBzaXplLAo+ICsgICAgICogYnVmX3VzZWQ6IGFjdHVhbCBkYXRhIGluIHRo ZSBidWZmZXIsCj4gKyAgICAgKiBidWZfY29uc3VtZWQ6IGRhdGEgYWxyZWFkeSBwYXJzZWQuICAq Lwo+ICsgICAgY2hhciAqcnhfYnVmOwo+ICsgICAgc2l6ZV90IGJ1Zl9zaXplOwo+ICsgICAgc2l6 ZV90IGJ1Zl91c2VkOwo+ICsgICAgc2l6ZV90IGJ1Zl9jb25zdW1lZDsKPiAgfTsKPiAgCj4gIAo+ IGRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9xbXAuYyBiL3Rvb2xzL2xpYnhsL2xpYnhs X3FtcC5jCj4gaW5kZXggOTZhMzQ3ZGQzYi4uYjA1NTRkZjg0MyAxMDA2NDQKPiAtLS0gYS90b29s cy9saWJ4bC9saWJ4bF9xbXAuYwo+ICsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3FtcC5jCj4gQEAg LTc1LDYgKzc1LDEyIEBACj4gICMgIGRlZmluZSBERUJVR19SRVBPUlRfUkVDRUlWRUQoZG9tLCBi dWYsIGxlbikgKCh2b2lkKTApCj4gICNlbmRpZgo+ICAKPiArI2lmZGVmIERFQlVHX1FNUF9DTElF TlQKPiArIyAgZGVmaW5lIExPR19RTVAoZiwgLi4uKSBMT0dEKERFQlVHLCBldi0+ZG9taWQsIGYs ICMjX19WQV9BUkdTX18pCj4gKyNlbHNlCj4gKyMgIGRlZmluZSBMT0dfUU1QKGYsIC4uLikKPiAr I2VuZGlmCj4gKwo+ICAvKgo+ICAgKiBRTVAgdHlwZXMgJiBjb25zdGFudAo+ICAgKi8KPiBAQCAt MTI3OCw5ICsxMjg0LDk5IEBAIGludCBsaWJ4bF9fcW1wX2luaXRpYWxpemF0aW9ucyhsaWJ4bF9f Z2MgKmdjLCB1aW50MzJfdCBkb21pZCwKPiAgCj4gIC8qIC0tLS0tLS0tLS0tLSBJbXBsZW1lbnRh dGlvbiBvZiBsaWJ4bF9fZXZfcW1wIC0tLS0tLS0tLS0tLS0tLS0gKi8KPiAgCj4gKy8qCj4gKyAq IFFNUCBGRCBjYWxsYmFja3MKPiArICovCj4gKwo+ICtzdGF0aWMgaW50IHFtcF9ldl9jYWxsYmFj a19yZWFkYWJsZShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl9xbXAgKmV2LCBpbnQgZmQpCj4g K3sKPiArICAgIEVHQ19HQzsKPiArICAgIHNzaXplX3QgcjsKPiArCj4gKyAgICBpZiAoIWV2LT5y eF9idWYpIHsKPiArICAgICAgICBldi0+cnhfYnVmID0gbGlieGxfX21hbGxvYyhOT0dDLCBRTVBf UkVDRUlWRV9CVUZGRVJfU0laRSk7Cj4gKyAgICAgICAgZXYtPmJ1Zl9zaXplID0gUU1QX1JFQ0VJ VkVfQlVGRkVSX1NJWkU7Cj4gKyAgICAgICAgZXYtPmJ1Zl91c2VkID0gMDsKPiArICAgICAgICBl di0+YnVmX2NvbnN1bWVkID0gMDsKPiArICAgIH0KPiArCj4gKyAgICAvKiBDaGVjayBpZiBsYXN0 IGJ1ZmZlciBzdGlsbCBoYXZlIHNwYWNlLCBvciBpbmNyZWFzZSBzaXplICovCj4gKyAgICAvKiBU aGUgLTEgaXMgYmVjYXVzZSB0aGVyZSBpcyBhbHdheXMgc3BhY2UgZm9yIGEgTlVMIGNoYXJhY3Rl ciAqLwo+ICsgICAgaWYgKGV2LT5idWZfdXNlZCA9PSBldi0+YnVmX3NpemUgLSAxKSB7Cj4gKyAg ICAgICAgZXYtPmJ1Zl9zaXplICs9IFFNUF9SRUNFSVZFX0JVRkZFUl9TSVpFOwo+ICsgICAgICAg IGV2LT5yeF9idWYgPSBsaWJ4bF9fcmVhbGxvYyhOT0dDLCBldi0+cnhfYnVmLCBldi0+YnVmX3Np emUpOwo+ICsgICAgfQo+ICsKPiArICAgIGZvciAoOzspIHsKPiArICAgICAgICAvKiBUaGUgLTEg aXMgYmVjYXVzZSB0aGVyZSBpcyBhbHdheXMgc3BhY2UgZm9yIGEgTlVMIGNoYXJhY3RlciAqLwo+ ICsgICAgICAgIHIgPSByZWFkKGZkLCBldi0+cnhfYnVmICsgZXYtPmJ1Zl91c2VkLAo+ICsgICAg ICAgICAgICAgICAgIGV2LT5idWZfc2l6ZSAtIGV2LT5idWZfdXNlZCAtIDEpOwo+ICsgICAgICAg IGlmIChyIDwgMCkgewo+ICsgICAgICAgICAgICBpZiAoZXJybm8gPT0gRUlOVFIpIGNvbnRpbnVl Owo+ICsgICAgICAgICAgICBhc3NlcnQoZXJybm8pOwo+ICsgICAgICAgICAgICBpZiAoZXJybm8g PT0gRVdPVUxEQkxPQ0spIHsKPiArICAgICAgICAgICAgICAgIHJldHVybiAwOwo+ICsgICAgICAg ICAgICB9Cj4gKyAgICAgICAgICAgIExPR0VEKEVSUk9SLCBldi0+ZG9taWQsICJlcnJvciByZWFk aW5nIFFNUCBzb2NrZXQiKTsKPiArICAgICAgICAgICAgcmV0dXJuIEVSUk9SX0ZBSUw7CgpJIHRo aW5rIGl0IHdvdWxkIGJlIGNsZWFyZXIgdG8gdXNlOgoKYXNzZXJ0KGVycm5vKTsKc3dpdGNoIChl cnJubykgewpjYXNlIEVJTlRSOgogICAgY29udGludWU7CmNhc2UgRVdPVUxEQkxPQ0sKICAgIHJl dHVybiAwOwpkZWZhdWx0OgogICAgTE9HRUQoLi4uKQoKPiArICAgICAgICB9Cj4gKyAgICAgICAg YnJlYWs7Cj4gKyAgICB9Cj4gKwo+ICsgICAgaWYgKHIgPT0gMCkgewo+ICsgICAgICAgIExPR0Qo RVJST1IsIGV2LT5kb21pZCwgIk5vIGRhdGEgcmVhZCBvbiBRTVAgc29ja2V0Iik7Cj4gKyAgICAg ICAgcmV0dXJuIDA7Cj4gKyAgICB9Cj4gKwo+ICsgICAgTE9HX1FNUCgicmVjZWl2ZWQgJWxkQjog JyUuKnMnIiwgciwgKGludClyLCBldi0+cnhfYnVmICsgZXYtPmJ1Zl91c2VkKTsKPiArCj4gKyAg ICBldi0+YnVmX3VzZWQgKz0gcjsKCkhtLCBkb24ndCB5b3UgbmVlZCB0byBkbyB0aGlzIGluc2lk ZSBvZiBhIGxvb3AgdG9nZXRoZXIgd2l0aCB0aGUKcmVhbGxvYywgaW4gY2FzZSB0aGUgZGF0YSBv biB0aGUgZmQgaXMgYmlnZ2VyIHRoYW4gdGhlIGN1cnJlbnQgc3BhY2UKb24gdGhlIGJ1ZmZlciwg YW5kIHlvdSBuZWVkIHRvIGtlZXAgZ3Jvd2luZyBpdCB1bnRpbCB5b3UgaGl0CkVXT1VMREJMT0NL PwoKSSB0aGluayB3aXRoIHRoZSBjdXJyZW50IGFwcHJvYWNoIHlvdSBjYW4gbGVhdmUgZGF0YSBw ZW5kaW5nIGluIHRoZSBmZAppZiB0aGUgYnVmZmVyIGhhcHBlbnMgdG8gYmUgc21hbGxlciB0aGFu IHRoZSBwZW5kaW5nIGRhdGEgaW4gdGhlIGZkPwoKSSB0aGluayB0aGUgbG9vcCBzaG91bGQgYmUg c29tZXRoaW5nIGxpa2U6Cgpmb3IgKDs7KSB7CiAgICAxLiBDaGVjayBpZiB0aGVyZSdzIHNwYWNl IGxlZnQgaW4gdGhlIGJ1ZmZlci4KICAgIDIuIFRyeSB0byByZWFkIGZyb20gdGhlIGZkLgogICAg My4gUGFyc2UgZXJyb3IsIGV4aXQgbG9vcCBpZiBlcnJubyA9PSBFV09VTERCTE9DSy4KICAgIDQu IGV2LT5idWZfdXNlZCArPSByOwogICAgNS4gUmVzdGFydCBsb29wLgp9Cgo+ICsgICAgYXNzZXJ0 KGV2LT5idWZfdXNlZCA8IGV2LT5idWZfc2l6ZSk7Cj4gKwo+ICsgICAgcmV0dXJuIDA7Cj4gK30K PiArCj4gK3N0YXRpYyB2b2lkIHFtcF9ldl9jYWxsYmFja19lcnJvcihsaWJ4bF9fZWdjICplZ2Ms IGxpYnhsX19ldl9xbXAgKmV2KQo+ICt7Cj4gKyAgICBFR0NfR0M7Cj4gKwo+ICsgICAgTE9HRChF UlJPUiwgZXYtPmRvbWlkLCAiRXJyb3IgaGFwcGVuZCB3aXRoIHRoZSBRTVAgY29ubmVjdGlvbiB0 byBRRU1VIik7Cj4gKwo+ICsgICAgLyogT24gZXJyb3IsIGRlYWxsb2NhdGUgYWxsIHByaXZhdGUg cmVzc291cmNlcyAqLwo+ICsgICAgbGlieGxfX2V2X3FtcF9kaXNwb3NlKGdjLCBldik7Cj4gK30K PiArCj4gIHN0YXRpYyB2b2lkIHFtcF9ldl9mZF9jYWxsYmFjayhsaWJ4bF9fZWdjICplZ2MsIGxp YnhsX19ldl9mZCAqZXZfZmQsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg ZmQsIHNob3J0IGV2ZW50cywgc2hvcnQgcmV2ZW50cykKPiAgewo+ICsgICAgRUdDX0dDOwo+ICsg ICAgaW50IHJjOwo+ICsKPiArICAgIGxpYnhsX19ldl9xbXAgKmV2ID0gQ09OVEFJTkVSX09GKGV2 X2ZkLCAqZXYsIHFtcF9lZmQpOwo+ICsKPiArICAgIGlmIChyZXZlbnRzICYgKFBPTExIVVApKSB7 Cj4gKyAgICAgICAgTE9HRChERUJVRywgZXYtPmRvbWlkLCAicmVjZWl2ZWQgUE9MTEhVUCBmcm9t IFFNUCBzb2NrZXQiKTsKPiArICAgICAgICBxbXBfZXZfY2FsbGJhY2tfZXJyb3IoZWdjLCBldik7 Cj4gKyAgICAgICAgcmV0dXJuOwo+ICsgICAgfQo+ICsgICAgaWYgKHJldmVudHMgJiB+KFBPTExJ TnxQT0xMT1VUKSkgewo+ICsgICAgICAgIExPR0QoRVJST1IsIGV2LT5kb21pZCwKPiArICAgICAg ICAgICAgICJ1bmV4cGVjdGVkIHBvbGwgZXZlbnQgMHgleCBvbiBRTVAgc29ja2V0IChleHBlY3Rl ZCBQT0xMSU4gIgo+ICsgICAgICAgICAgICAgImFuZC9vciBQT0xMT1VUKSIsCj4gKyAgICAgICAg ICAgIHJldmVudHMpOwo+ICsgICAgICAgIHFtcF9ldl9jYWxsYmFja19lcnJvcihlZ2MsIGV2KTsK PiArICAgICAgICByZXR1cm47Cj4gKyAgICB9Cj4gKwo+ICsgICAgaWYgKHJldmVudHMgJiBQT0xM SU4pIHsKPiArICAgICAgICByYyA9IHFtcF9ldl9jYWxsYmFja19yZWFkYWJsZShlZ2MsIGV2LCBm ZCk7Cj4gKyAgICAgICAgaWYgKHJjKQo+ICsgICAgICAgICAgICBnb3RvIG91dDsKPiArICAgIH0K PiArb3V0OgoKU2luY2UgeW91IGFscmVhZHkgaGF2ZSBhbiBvdXQgbGFiZWwgdGhhdCBjYWxscyBf ZXJyb3IsIHdoeSBub3QgdXNlIGl0CmZvciB0aGUgZmFpbHVyZSBwYXRocyBhYm92ZSBieSBtYW51 YWxseSBzZXR0aW5nIHJjPwoKT3IgZWxzZSBnZXQgcmlkIG9mIGl0IGFuZCBqdXN0IGNhbGwgX2Vy cm9yIGRpcmVjdGx5LgoKICAgIGlmIChyZXZlbnRzICYgUE9MTElOKSB7CiAgICAgICAgcmMgPSBx bXBfZXZfY2FsbGJhY2tfcmVhZGFibGUoZWdjLCBldiwgZmQpOwogICAgICAgIGlmIChyYykgewog ICAgICAgICAgICBxbXBfZXZfY2FsbGJhY2tfZXJyb3IoZWdjLCBldik7CiAgICAgICAgICAgIHJl dHVybjsKICAgICAgICB9CiAgICB9CgpBbmQgdGhlbiB5b3UgY2FuIHJlbW92ZSB0aGUgbGFiZWwg YWx0b2dldGhlci4KCj4gKyAgICBpZiAocmMpIHsKPiArICAgICAgICBxbXBfZXZfY2FsbGJhY2tf ZXJyb3IoZWdjLCBldik7Cj4gKyAgICB9Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgcW1wX2V2X2Nv bm5lY3QobGlieGxfX2djICpnYywgbGlieGxfX2V2X3FtcCAqZXYpCj4gQEAgLTEzNDYsNiArMTQ0 Miw4IEBAIHZvaWQgbGlieGxfX2V2X3FtcF9pbml0KGxpYnhsX19ldl9xbXAgKmV2KQo+ICAgICAg ZXYtPnFtcF9jZmQgPSBOVUxMOwo+ICAgICAgbGlieGxfX2V2X2ZkX2luaXQoJmV2LT5xbXBfZWZk KTsKPiAgICAgIGV2LT5xbXBfc3RhdGUgPSBxbXBfc3RhdGVfZGlzY29ubmVjdGVkOwo+ICsKPiAr ICAgIGV2LT5yeF9idWYgPSBOVUxMOwoKQXJlbid0IHlvdSBtaXNzaW5nIGEKCmV2LT5idWZfc2l6 ZSA9IGV2LT5idWZfdXNlZCA9IGV2LT5idWZfY29uc3VtZWQgPSAwOwoKPwoKPiAgfQo+ICAKPiAg aW50IGxpYnhsX19ldl9xbXBfc2VuZChsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fZXZfcW1wICpldiwK PiBAQCAtMTM2NSw2ICsxNDYzLDkgQEAgdm9pZCBsaWJ4bF9fZXZfcW1wX2Rpc3Bvc2UobGlieGxf X2djICpnYywgbGlieGxfX2V2X3FtcCAqZXYpCj4gIHsKPiAgICAgIExPR0QoREVCVUcsIGV2LT5k b21pZCwgIiBldiAlcCIsIGV2KTsKPiAgCj4gKyAgICBmcmVlKGV2LT5yeF9idWYpOwo+ICsgICAg ZXYtPnJ4X2J1ZiA9IE5VTEw7CgpJIGRvbid0IHRoaW5rIHlvdSBuZWVkIHRvIHNldCByeF9idWYg dG8gTlVMTCBpZiB5b3UgY2FsbCBfaW5pdAphZnRlcndhcmRzLgoKVGhhbmtzLCBSb2dlci4KCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMu eGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=