From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: Re: [PATCH v4 14/32] libxl_qmp: Implement fd callback and read data Date: Fri, 3 Aug 2018 15:32:09 +0100 Message-ID: <20180803143209.GF1327@perard.uk.xensource.com> References: <20180727140614.13256-1-anthony.perard@citrix.com> <20180727140614.13256-15-anthony.perard@citrix.com> <20180802095611.rkwheom3epys2fyh@mac> 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 1flb7m-0000VK-2S for xen-devel@lists.xenproject.org; Fri, 03 Aug 2018 14:32:14 +0000 Content-Disposition: inline In-Reply-To: <20180802095611.rkwheom3epys2fyh@mac> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Roger Pau =?iso-8859-1?Q?Monn=E9?= Cc: xen-devel@lists.xenproject.org, Ian Jackson , Wei Liu List-Id: xen-devel@lists.xenproject.org T24gVGh1LCBBdWcgMDIsIDIwMTggYXQgMTE6NTY6MTFBTSArMDIwMCwgUm9nZXIgUGF1IE1vbm7D qSB3cm90ZToKPiBPbiBGcmksIEp1bCAyNywgMjAxOCBhdCAwMzowNTo1NlBNICswMTAwLCBBbnRo b255IFBFUkFSRCB3cm90ZToKPiA+ICsgICAgICAgIC8qIFRoZSAtMSBpcyBiZWNhdXNlIHRoZXJl IGlzIGFsd2F5cyBzcGFjZSBmb3IgYSBOVUwgY2hhcmFjdGVyICovCj4gPiArICAgICAgICByID0g cmVhZChmZCwgZXYtPnJ4X2J1ZiArIGV2LT5idWZfdXNlZCwKPiA+ICsgICAgICAgICAgICAgICAg IGV2LT5idWZfc2l6ZSAtIGV2LT5idWZfdXNlZCAtIDEpOwo+ID4gKyAgICAgICAgaWYgKHIgPCAw KSB7Cj4gPiArICAgICAgICAgICAgaWYgKGVycm5vID09IEVJTlRSKSBjb250aW51ZTsKPiA+ICsg ICAgICAgICAgICBhc3NlcnQoZXJybm8pOwo+ID4gKyAgICAgICAgICAgIGlmIChlcnJubyA9PSBF V09VTERCTE9DSykgewo+ID4gKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKPiA+ICsgICAgICAg ICAgICB9Cj4gPiArICAgICAgICAgICAgTE9HRUQoRVJST1IsIGV2LT5kb21pZCwgImVycm9yIHJl YWRpbmcgUU1QIHNvY2tldCIpOwo+ID4gKyAgICAgICAgICAgIHJldHVybiBFUlJPUl9GQUlMOwo+ IAo+IEkgdGhpbmsgaXQgd291bGQgYmUgY2xlYXJlciB0byB1c2U6Cj4gCj4gYXNzZXJ0KGVycm5v KTsKPiBzd2l0Y2ggKGVycm5vKSB7Cj4gY2FzZSBFSU5UUjoKPiAgICAgY29udGludWU7Cj4gY2Fz ZSBFV09VTERCTE9DSwo+ICAgICByZXR1cm4gMDsKPiBkZWZhdWx0Ogo+ICAgICBMT0dFRCguLi4p CgpUaGF0J3Mgbm90IHRoZSBzYW1lLiBJbiB0aGUgcGF0Y2gsIHRoZSBvbmx5IGVycm5vIGFsbG93 ZWQgaXMgRUlOVFIsCmFueXRoaW5nIGVsc2UgaXMgY29uc2lkZXIgYSBwcm9ncmFtbWVyJ3MgbWlz dGFrZS4gRm9yIHVzZXJzIChidWlsZCB3aXRoCk5ERUJVRyksIEVXT1VMREJMT0NLIGlzIGFsc28g YWxsb3dlZCBhbmQgbm90IGNvbnNpZGVyZWQgYW4gZXJyb3IgYW5kCm90aGVyIGVycm5vIHdpbGwg YXR0ZW1wdCB0byBsZXQgbGlieGwgZ2VuZXJhdGUgYSB1c2VmdWxsIGVycm9yLCBpbnN0ZWFkCm9m IGFuIGFib3J0KCkuCgo+ID4gKyAgICAgICAgfQo+ID4gKyAgICAgICAgYnJlYWs7Cj4gPiArICAg IH0KPiA+ICsKPiA+ICsgICAgaWYgKHIgPT0gMCkgewo+ID4gKyAgICAgICAgTE9HRChFUlJPUiwg ZXYtPmRvbWlkLCAiTm8gZGF0YSByZWFkIG9uIFFNUCBzb2NrZXQiKTsKPiA+ICsgICAgICAgIHJl dHVybiAwOwo+ID4gKyAgICB9Cj4gPiArCj4gPiArICAgIExPR19RTVAoInJlY2VpdmVkICVsZEI6 ICclLipzJyIsIHIsIChpbnQpciwgZXYtPnJ4X2J1ZiArIGV2LT5idWZfdXNlZCk7Cj4gPiArCj4g PiArICAgIGV2LT5idWZfdXNlZCArPSByOwo+IAo+IEhtLCBkb24ndCB5b3UgbmVlZCB0byBkbyB0 aGlzIGluc2lkZSBvZiBhIGxvb3AgdG9nZXRoZXIgd2l0aCB0aGUKPiByZWFsbG9jLCBpbiBjYXNl IHRoZSBkYXRhIG9uIHRoZSBmZCBpcyBiaWdnZXIgdGhhbiB0aGUgY3VycmVudCBzcGFjZQo+IG9u IHRoZSBidWZmZXIsIGFuZCB5b3UgbmVlZCB0byBrZWVwIGdyb3dpbmcgaXQgdW50aWwgeW91IGhp dAo+IEVXT1VMREJMT0NLPwo+IAo+IEkgdGhpbmsgd2l0aCB0aGUgY3VycmVudCBhcHByb2FjaCB5 b3UgY2FuIGxlYXZlIGRhdGEgcGVuZGluZyBpbiB0aGUgZmQKPiBpZiB0aGUgYnVmZmVyIGhhcHBl bnMgdG8gYmUgc21hbGxlciB0aGFuIHRoZSBwZW5kaW5nIGRhdGEgaW4gdGhlIGZkPwoKWW91IHdv dWxkIHRoaW5rIHRoYXQsIGJ1dCB0aGUgcmVhZCBsb29wIGlzbid0IGluIHRoaXMgZmlsZS4gVGhl IGxvb3AgaXMKcGFydCBvZiB0aGUgbGlieGxfX2V2X2ZkLiBBcyBsb25nIGFzIHRoZXJlIGlzIGRh dGEgdG8gcmVhZCBmcm9tIHRoZSBmZCwKdGhlIGNhbGxiYWNrIChpbml0aWFsaXplZCBieSBsaWJ4 bF9fZXZfZmRfcmVnaXN0ZXIpIGlzIGdvaW5nIHRvIGJlCmNhbGxlZC4gVGhpcyBjYWxsYmFjaywg d2hpY2ggdWx0aW1hdGx5IGNhbGxzIHFtcF9ldl9jYWxsYmFja19yZWFkYWJsZSwKd2lsbCBhdHRl bXB0IHRvIHJlYWQgb25seSBvbmNlICh1bmxlc3MgaW50ZXJydXB0ZWQsIEVJTlRSKS4gRVdPVUxE QkxPQ0sKc2hvdWxkIG5ldmVyIGJlIHNlZW4uCgpUaGVyZSBpcyBhIHBvbGwoKSBzb21ld2hlcmUg aW4gbGlieGwgd2hpY2ggdGFrZXMgY2FyZSBvZiBjaGVja2luZyBpZgp0aGVyZSdzIGRhdGEgbGVm dCBpbiB0aGUgZmQsIGFuZCB3aWxsIGNhbGwgdGhlIGNhbGxiYWNrIGFzc29jaWF0ZWQgd2l0aAp0 aGF0IGZkLgoKPiA+ICBzdGF0aWMgdm9pZCBxbXBfZXZfZmRfY2FsbGJhY2sobGlieGxfX2VnYyAq ZWdjLCBsaWJ4bF9fZXZfZmQgKmV2X2ZkLAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpbnQgZmQsIHNob3J0IGV2ZW50cywgc2hvcnQgcmV2ZW50cykKPiA+ICB7Cj4gPiArICAg IEVHQ19HQzsKPiA+ICsgICAgaW50IHJjOwo+ID4gKwo+ID4gKyAgICBsaWJ4bF9fZXZfcW1wICpl diA9IENPTlRBSU5FUl9PRihldl9mZCwgKmV2LCBxbXBfZWZkKTsKPiA+ICsKPiA+ICsgICAgaWYg KHJldmVudHMgJiAoUE9MTEhVUCkpIHsKPiA+ICsgICAgICAgIExPR0QoREVCVUcsIGV2LT5kb21p ZCwgInJlY2VpdmVkIFBPTExIVVAgZnJvbSBRTVAgc29ja2V0Iik7Cj4gPiArICAgICAgICBxbXBf ZXZfY2FsbGJhY2tfZXJyb3IoZWdjLCBldik7Cj4gPiArICAgICAgICByZXR1cm47Cj4gPiArICAg IH0KPiA+ICsgICAgaWYgKHJldmVudHMgJiB+KFBPTExJTnxQT0xMT1VUKSkgewo+ID4gKyAgICAg ICAgTE9HRChFUlJPUiwgZXYtPmRvbWlkLAo+ID4gKyAgICAgICAgICAgICAidW5leHBlY3RlZCBw b2xsIGV2ZW50IDB4JXggb24gUU1QIHNvY2tldCAoZXhwZWN0ZWQgUE9MTElOICIKPiA+ICsgICAg ICAgICAgICAgImFuZC9vciBQT0xMT1VUKSIsCj4gPiArICAgICAgICAgICAgcmV2ZW50cyk7Cj4g PiArICAgICAgICBxbXBfZXZfY2FsbGJhY2tfZXJyb3IoZWdjLCBldik7Cj4gPiArICAgICAgICBy ZXR1cm47Cj4gPiArICAgIH0KPiA+ICsKPiA+ICsgICAgaWYgKHJldmVudHMgJiBQT0xMSU4pIHsK PiA+ICsgICAgICAgIHJjID0gcW1wX2V2X2NhbGxiYWNrX3JlYWRhYmxlKGVnYywgZXYsIGZkKTsK PiA+ICsgICAgICAgIGlmIChyYykKPiA+ICsgICAgICAgICAgICBnb3RvIG91dDsKPiA+ICsgICAg fQo+ID4gK291dDoKPiAKPiBTaW5jZSB5b3UgYWxyZWFkeSBoYXZlIGFuIG91dCBsYWJlbCB0aGF0 IGNhbGxzIF9lcnJvciwgd2h5IG5vdCB1c2UgaXQKPiBmb3IgdGhlIGZhaWx1cmUgcGF0aHMgYWJv dmUgYnkgbWFudWFsbHkgc2V0dGluZyByYz8KClJpZ2h0LCBJJ2xsIG1ha2UgYmV0dGVyIHVzZSBv ZiB0aGlzIG91dCBsYWJlbC4KCj4gPiArICAgIGlmIChyYykgewo+ID4gKyAgICAgICAgcW1wX2V2 X2NhbGxiYWNrX2Vycm9yKGVnYywgZXYpOwo+ID4gKyAgICB9Cj4gPiAgfQo+ID4gIAo+ID4gIHN0 YXRpYyBpbnQgcW1wX2V2X2Nvbm5lY3QobGlieGxfX2djICpnYywgbGlieGxfX2V2X3FtcCAqZXYp Cj4gPiBAQCAtMTM0Niw2ICsxNDQyLDggQEAgdm9pZCBsaWJ4bF9fZXZfcW1wX2luaXQobGlieGxf X2V2X3FtcCAqZXYpCj4gPiAgICAgIGV2LT5xbXBfY2ZkID0gTlVMTDsKPiA+ICAgICAgbGlieGxf X2V2X2ZkX2luaXQoJmV2LT5xbXBfZWZkKTsKPiA+ICAgICAgZXYtPnFtcF9zdGF0ZSA9IHFtcF9z dGF0ZV9kaXNjb25uZWN0ZWQ7Cj4gPiArCj4gPiArICAgIGV2LT5yeF9idWYgPSBOVUxMOwo+IAo+ IEFyZW4ndCB5b3UgbWlzc2luZyBhCj4gCj4gZXYtPmJ1Zl9zaXplID0gZXYtPmJ1Zl91c2VkID0g ZXYtPmJ1Zl9jb25zdW1lZCA9IDA7CgpOb3QgcmVhbGx5LCBpZiB0aGVyZSBpcyBubyByeF9idWYs IHRob3NlIHZhcmlhYmxlcyBjYW4gYmUgdW5kZWZpbmVkLgoKPiA+ICB9Cj4gPiAgCj4gPiAgaW50 IGxpYnhsX19ldl9xbXBfc2VuZChsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fZXZfcW1wICpldiwKPiA+ IEBAIC0xMzY1LDYgKzE0NjMsOSBAQCB2b2lkIGxpYnhsX19ldl9xbXBfZGlzcG9zZShsaWJ4bF9f Z2MgKmdjLCBsaWJ4bF9fZXZfcW1wICpldikKPiA+ICB7Cj4gPiAgICAgIExPR0QoREVCVUcsIGV2 LT5kb21pZCwgIiBldiAlcCIsIGV2KTsKPiA+ICAKPiA+ICsgICAgZnJlZShldi0+cnhfYnVmKTsK PiA+ICsgICAgZXYtPnJ4X2J1ZiA9IE5VTEw7Cj4gCj4gSSBkb24ndCB0aGluayB5b3UgbmVlZCB0 byBzZXQgcnhfYnVmIHRvIE5VTEwgaWYgeW91IGNhbGwgX2luaXQKPiBhZnRlcndhcmRzLgoKV2ls bCByZW1vdmUgaXQuCgpUaGFua3MsCgotLSAKQW50aG9ueSBQRVJBUkQKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK WGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v cmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=