From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH v2 7/8] xen_disk: use a single entry iovec Date: Fri, 4 May 2018 15:21:29 +0000 Message-ID: <80fb47d07ec1483f889319885c8869e9__20419.4493046545$1525447211$gmane$org@AMSPEX02CL03.citrite.net> References: <1525442134-20488-1-git-send-email-paul.durrant@citrix.com> <1525442134-20488-8-git-send-email-paul.durrant@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 1fEcWb-0007SV-1x for xen-devel@lists.xenproject.org; Fri, 04 May 2018 15:21:33 +0000 In-Reply-To: <1525442134-20488-8-git-send-email-paul.durrant@citrix.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Paul Durrant , "xen-devel@lists.xenproject.org" , "qemu-block@nongnu.org" , "qemu-devel@nongnu.org" Cc: Anthony Perard , Kevin Wolf , Stefano Stabellini , Max Reitz List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IFBhdWwgRHVycmFudCBbbWFpbHRv OnBhdWwuZHVycmFudEBjaXRyaXguY29tXQo+IFNlbnQ6IDA0IE1heSAyMDE4IDE0OjU2Cj4gVG86 IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZzsgcWVtdS1ibG9ja0Bub25nbnUub3JnOyBx ZW11LQo+IGRldmVsQG5vbmdudS5vcmcKPiBDYzogUGF1bCBEdXJyYW50IDxQYXVsLkR1cnJhbnRA Y2l0cml4LmNvbT47IFN0ZWZhbm8gU3RhYmVsbGluaQo+IDxzc3RhYmVsbGluaUBrZXJuZWwub3Jn PjsgQW50aG9ueSBQZXJhcmQgPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+Owo+IEtldmluIFdv bGYgPGt3b2xmQHJlZGhhdC5jb20+OyBNYXggUmVpdHogPG1yZWl0ekByZWRoYXQuY29tPgo+IFN1 YmplY3Q6IFtQQVRDSCB2MiA3LzhdIHhlbl9kaXNrOiB1c2UgYSBzaW5nbGUgZW50cnkgaW92ZWMK PiAKPiBTaW5jZSB4ZW5fZGlzayBub3cgYWx3YXlzIGNvcGllcyBkYXRhIHRvIGFuZCBmcm9tIGEg Z3Vlc3QgdGhlcmUgaXMgbm8gbmVlZAo+IHRvIG1haW50YWluIGEgdmVjdG9yIGVudHJ5IGNvcnJl c3BvbmRpbmcgdG8gZXZlcnkgcGFnZSBvZiBhIHJlcXVlc3QuCj4gVGhpcyBtZWFucyB0aGVyZSBp cyBsZXNzIHBlci1yZXF1ZXN0IHN0YXRlIHRvIG1haW50YWluIHNvIHRoZSBpb3JlcQo+IHN0cnVj dHVyZSBjYW4gc2hyaW5rIHNpZ25pZmljYW50bHkuCj4gCj4gU2lnbmVkLW9mZi1ieTogUGF1bCBE dXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KPiAtLS0KPiBDYzogU3RlZmFubyBTdGFi ZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgo+IENjOiBBbnRob255IFBlcmFyZCA8YW50 aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4KPiBDYzogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNv bT4KPiBDYzogTWF4IFJlaXR6IDxtcmVpdHpAcmVkaGF0LmNvbT4KPiAKPiB2MjoKPiAgLSBSZS1i YXNlZAoKVW5mb3J0dW5hdGVseSBJIG1hbmFnZWQgdG8gZHJvcCBhIGh1bmsgZHVyaW5nIHJlYmFz ZSBhbmQgc28gdGhpcyBwYXRjaCBpcyBhY3R1YWxseSBicm9rZW4uIEknbGwgc2VuZCBhIHJlY3Rp ZmllZCB2MyBzaG9ydGx5LgoKICBQYXVsCgo+IC0tLQo+ICBody9ibG9jay94ZW5fZGlzay5jIHwg NzEgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K PiAgMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDUzIGRlbGV0aW9ucygtKQo+IAo+ IGRpZmYgLS1naXQgYS9ody9ibG9jay94ZW5fZGlzay5jIGIvaHcvYmxvY2sveGVuX2Rpc2suYwo+ IGluZGV4IDI4YmU4YjYuLjIzMDk2MWYgMTAwNjQ0Cj4gLS0tIGEvaHcvYmxvY2sveGVuX2Rpc2su Ywo+ICsrKyBiL2h3L2Jsb2NrL3hlbl9kaXNrLmMKPiBAQCAtNDYsMTMgKzQ2LDEwIEBAIHN0cnVj dCBpb3JlcSB7Cj4gICAgICAvKiBwYXJzZWQgcmVxdWVzdCAqLwo+ICAgICAgb2ZmX3QgICAgICAg ICAgICAgICBzdGFydDsKPiAgICAgIFFFTVVJT1ZlY3RvciAgICAgICAgdjsKPiArICAgIHZvaWQg ICAgICAgICAgICAgICAgKmJ1ZjsKPiArICAgIHNpemVfdCAgICAgICAgICAgICAgc2l6ZTsKPiAg ICAgIGludCAgICAgICAgICAgICAgICAgcHJlc3luYzsKPiAKPiAtICAgIC8qIGdyYW50IG1hcHBp bmcgKi8KPiAtICAgIHVpbnQzMl90ICAgICAgICAgICAgcmVmc1tCTEtJRl9NQVhfU0VHTUVOVFNf UEVSX1JFUVVFU1RdOwo+IC0gICAgdm9pZCAgICAgICAgICAgICAgICAqcGFnZVtCTEtJRl9NQVhf U0VHTUVOVFNfUEVSX1JFUVVFU1RdOwo+IC0gICAgdm9pZCAgICAgICAgICAgICAgICAqcGFnZXM7 Cj4gLQo+ICAgICAgLyogYWlvIHN0YXR1cyAqLwo+ICAgICAgaW50ICAgICAgICAgICAgICAgICBh aW9faW5mbGlnaHQ7Cj4gICAgICBpbnQgICAgICAgICAgICAgICAgIGFpb19lcnJvcnM7Cj4gQEAg LTExMCwxMiArMTA3LDEwIEBAIHN0YXRpYyB2b2lkIGlvcmVxX3Jlc2V0KHN0cnVjdCBpb3JlcSAq aW9yZXEpCj4gICAgICBtZW1zZXQoJmlvcmVxLT5yZXEsIDAsIHNpemVvZihpb3JlcS0+cmVxKSk7 Cj4gICAgICBpb3JlcS0+c3RhdHVzID0gMDsKPiAgICAgIGlvcmVxLT5zdGFydCA9IDA7Cj4gKyAg ICBpb3JlcS0+YnVmID0gTlVMTDsKPiArICAgIGlvcmVxLT5zaXplID0gMDsKPiAgICAgIGlvcmVx LT5wcmVzeW5jID0gMDsKPiAKPiAtICAgIG1lbXNldChpb3JlcS0+cmVmcywgMCwgc2l6ZW9mKGlv cmVxLT5yZWZzKSk7Cj4gLSAgICBtZW1zZXQoaW9yZXEtPnBhZ2UsIDAsIHNpemVvZihpb3JlcS0+ cGFnZSkpOwo+IC0gICAgaW9yZXEtPnBhZ2VzID0gTlVMTDsKPiAtCj4gICAgICBpb3JlcS0+YWlv X2luZmxpZ2h0ID0gMDsKPiAgICAgIGlvcmVxLT5haW9fZXJyb3JzID0gMDsKPiAKPiBAQCAtMTM4 LDcgKzEzMyw3IEBAIHN0YXRpYyBzdHJ1Y3QgaW9yZXEgKmlvcmVxX3N0YXJ0KHN0cnVjdCBYZW5C bGtEZXYKPiAqYmxrZGV2KQo+ICAgICAgICAgIGlvcmVxID0gZ19tYWxsb2MwKHNpemVvZigqaW9y ZXEpKTsKPiAgICAgICAgICBpb3JlcS0+YmxrZGV2ID0gYmxrZGV2Owo+ICAgICAgICAgIGJsa2Rl di0+cmVxdWVzdHNfdG90YWwrKzsKPiAtICAgICAgICBxZW11X2lvdmVjX2luaXQoJmlvcmVxLT52 LCBCTEtJRl9NQVhfU0VHTUVOVFNfUEVSX1JFUVVFU1QpOwo+ICsgICAgICAgIHFlbXVfaW92ZWNf aW5pdCgmaW9yZXEtPnYsIDEpOwo+ICAgICAgfSBlbHNlIHsKPiAgICAgICAgICAvKiBnZXQgb25l IGZyb20gZnJlZWxpc3QgKi8KPiAgICAgICAgICBpb3JlcSA9IFFMSVNUX0ZJUlNUKCZibGtkZXYt PmZyZWVsaXN0KTsKPiBAQCAtMTgzLDcgKzE3OCw2IEBAIHN0YXRpYyB2b2lkIGlvcmVxX3JlbGVh c2Uoc3RydWN0IGlvcmVxICppb3JlcSwgYm9vbAo+IGZpbmlzaCkKPiAgc3RhdGljIGludCBpb3Jl cV9wYXJzZShzdHJ1Y3QgaW9yZXEgKmlvcmVxKQo+ICB7Cj4gICAgICBzdHJ1Y3QgWGVuQmxrRGV2 ICpibGtkZXYgPSBpb3JlcS0+YmxrZGV2Owo+IC0gICAgdWludHB0cl90IG1lbTsKPiAgICAgIHNp emVfdCBsZW47Cj4gICAgICBpbnQgaTsKPiAKPiBAQCAtMjMwLDEzICsyMjQsMTAgQEAgc3RhdGlj IGludCBpb3JlcV9wYXJzZShzdHJ1Y3QgaW9yZXEgKmlvcmVxKQo+ICAgICAgICAgICAgICBnb3Rv IGVycjsKPiAgICAgICAgICB9Cj4gCj4gLSAgICAgICAgaW9yZXEtPnJlZnNbaV0gICA9IGlvcmVx LT5yZXEuc2VnW2ldLmdyZWY7Cj4gLQo+IC0gICAgICAgIG1lbSA9IGlvcmVxLT5yZXEuc2VnW2ld LmZpcnN0X3NlY3QgKiBibGtkZXYtPmZpbGVfYmxrOwo+ICAgICAgICAgIGxlbiA9IChpb3JlcS0+ cmVxLnNlZ1tpXS5sYXN0X3NlY3QgLSBpb3JlcS0+cmVxLnNlZ1tpXS5maXJzdF9zZWN0ICsgMSkg Kgo+IGJsa2Rldi0+ZmlsZV9ibGs7Cj4gLSAgICAgICAgcWVtdV9pb3ZlY19hZGQoJmlvcmVxLT52 LCAodm9pZCopbWVtLCBsZW4pOwo+ICsgICAgICAgIGlvcmVxLT5zaXplICs9IGxlbjsKPiAgICAg IH0KPiAtICAgIGlmIChpb3JlcS0+c3RhcnQgKyBpb3JlcS0+di5zaXplID4gYmxrZGV2LT5maWxl X3NpemUpIHsKPiArICAgIGlmIChpb3JlcS0+c3RhcnQgKyBpb3JlcS0+c2l6ZSA+IGJsa2Rldi0+ ZmlsZV9zaXplKSB7Cj4gICAgICAgICAgeGVuX3B2X3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDAs ICJlcnJvcjogYWNjZXNzIGJleW9uZCBlbmQgb2YKPiBmaWxlXG4iKTsKPiAgICAgICAgICBnb3Rv IGVycjsKPiAgICAgIH0KPiBAQCAtMjQ3LDM1ICsyMzgsNiBAQCBlcnI6Cj4gICAgICByZXR1cm4g LTE7Cj4gIH0KPiAKPiAtc3RhdGljIHZvaWQgaW9yZXFfZnJlZV9jb3B5X2J1ZmZlcnMoc3RydWN0 IGlvcmVxICppb3JlcSkKPiAtewo+IC0gICAgaW50IGk7Cj4gLQo+IC0gICAgZm9yIChpID0gMDsg aSA8IGlvcmVxLT52Lm5pb3Y7IGkrKykgewo+IC0gICAgICAgIGlvcmVxLT5wYWdlW2ldID0gTlVM TDsKPiAtICAgIH0KPiAtCj4gLSAgICBxZW11X3ZmcmVlKGlvcmVxLT5wYWdlcyk7Cj4gLX0KPiAt Cj4gLXN0YXRpYyBpbnQgaW9yZXFfaW5pdF9jb3B5X2J1ZmZlcnMoc3RydWN0IGlvcmVxICppb3Jl cSkKPiAtewo+IC0gICAgaW50IGk7Cj4gLQo+IC0gICAgaWYgKGlvcmVxLT52Lm5pb3YgPT0gMCkg ewo+IC0gICAgICAgIHJldHVybiAwOwo+IC0gICAgfQo+IC0KPiAtICAgIGlvcmVxLT5wYWdlcyA9 IHFlbXVfbWVtYWxpZ24oWENfUEFHRV9TSVpFLCBpb3JlcS0+di5uaW92ICoKPiBYQ19QQUdFX1NJ WkUpOwo+IC0KPiAtICAgIGZvciAoaSA9IDA7IGkgPCBpb3JlcS0+di5uaW92OyBpKyspIHsKPiAt ICAgICAgICBpb3JlcS0+cGFnZVtpXSA9IGlvcmVxLT5wYWdlcyArIGkgKiBYQ19QQUdFX1NJWkU7 Cj4gLSAgICAgICAgaW9yZXEtPnYuaW92W2ldLmlvdl9iYXNlID0gaW9yZXEtPnBhZ2VbaV07Cj4g LSAgICB9Cj4gLQo+IC0gICAgcmV0dXJuIDA7Cj4gLX0KPiAtCj4gIHN0YXRpYyBpbnQgaW9yZXFf Z3JhbnRfY29weShzdHJ1Y3QgaW9yZXEgKmlvcmVxKQo+ICB7Cj4gICAgICBzdHJ1Y3QgWGVuQmxr RGV2ICpibGtkZXYgPSBpb3JlcS0+YmxrZGV2Owo+IEBAIC0yODQsNiArMjQ2LDcgQEAgc3RhdGlj IGludCBpb3JlcV9ncmFudF9jb3B5KHN0cnVjdCBpb3JlcSAqaW9yZXEpCj4gICAgICBpbnQgaSwg Y291bnQsIHJjOwo+ICAgICAgaW50NjRfdCBmaWxlX2JsayA9IGlvcmVxLT5ibGtkZXYtPmZpbGVf YmxrOwo+ICAgICAgYm9vbCB0b19kb21haW4gPSAoaW9yZXEtPnJlcS5vcGVyYXRpb24gPT0gQkxL SUZfT1BfUkVBRCk7Cj4gKyAgICB2b2lkICp2aXJ0ID0gaW9yZXEtPmJ1ZjsKPiAKPiAgICAgIGlm IChpb3JlcS0+di5uaW92ID09IDApIHsKPiAgICAgICAgICByZXR1cm4gMDsKPiBAQCAtMjkzLDE2 ICsyNTYsMTcgQEAgc3RhdGljIGludCBpb3JlcV9ncmFudF9jb3B5KHN0cnVjdCBpb3JlcSAqaW9y ZXEpCj4gCj4gICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewo+ICAgICAgICAgIGlm ICh0b19kb21haW4pIHsKPiAtICAgICAgICAgICAgc2Vnc1tpXS5kZXN0LmZvcmVpZ24ucmVmID0g aW9yZXEtPnJlZnNbaV07Cj4gKyAgICAgICAgICAgIHNlZ3NbaV0uZGVzdC5mb3JlaWduLnJlZiA9 IGlvcmVxLT5yZXEuc2VnW2ldLmdyZWY7Cj4gICAgICAgICAgICAgIHNlZ3NbaV0uZGVzdC5mb3Jl aWduLm9mZnNldCA9IGlvcmVxLT5yZXEuc2VnW2ldLmZpcnN0X3NlY3QgKiBmaWxlX2JsazsKPiAt ICAgICAgICAgICAgc2Vnc1tpXS5zb3VyY2UudmlydCA9IGlvcmVxLT52LmlvdltpXS5pb3ZfYmFz ZTsKPiArICAgICAgICAgICAgc2Vnc1tpXS5zb3VyY2UudmlydCA9IHZpcnQ7Cj4gICAgICAgICAg fSBlbHNlIHsKPiAtICAgICAgICAgICAgc2Vnc1tpXS5zb3VyY2UuZm9yZWlnbi5yZWYgPSBpb3Jl cS0+cmVmc1tpXTsKPiArICAgICAgICAgICAgc2Vnc1tpXS5zb3VyY2UuZm9yZWlnbi5yZWYgPSBp b3JlcS0+cmVxLnNlZ1tpXS5ncmVmOwo+ICAgICAgICAgICAgICBzZWdzW2ldLnNvdXJjZS5mb3Jl aWduLm9mZnNldCA9IGlvcmVxLT5yZXEuc2VnW2ldLmZpcnN0X3NlY3QgKiBmaWxlX2JsazsKPiAt ICAgICAgICAgICAgc2Vnc1tpXS5kZXN0LnZpcnQgPSBpb3JlcS0+di5pb3ZbaV0uaW92X2Jhc2U7 Cj4gKyAgICAgICAgICAgIHNlZ3NbaV0uZGVzdC52aXJ0ID0gdmlydDsKPiAgICAgICAgICB9Cj4g ICAgICAgICAgc2Vnc1tpXS5sZW4gPSAoaW9yZXEtPnJlcS5zZWdbaV0ubGFzdF9zZWN0Cj4gICAg ICAgICAgICAgICAgICAgICAgICAgLSBpb3JlcS0+cmVxLnNlZ1tpXS5maXJzdF9zZWN0ICsgMSkg KiBmaWxlX2JsazsKPiArICAgICAgICB2aXJ0ICs9IHNlZ3NbaV0ubGVuOwo+ICAgICAgfQo+IAo+ ICAgICAgcmMgPSB4ZW5fYmVfY29weV9ncmFudF9yZWZzKHhlbmRldiwgdG9fZG9tYWluLCBzZWdz LCBjb3VudCk7Cj4gQEAgLTMxNCw2ICsyNzgsNyBAQCBzdGF0aWMgaW50IGlvcmVxX2dyYW50X2Nv cHkoc3RydWN0IGlvcmVxICppb3JlcSkKPiAgICAgICAgICByZXR1cm4gLTE7Cj4gICAgICB9Cj4g Cj4gKyAgICBxZW11X2lvdmVjX2FkZCgmaW9yZXEtPnYsIGlvcmVxLT5idWYsIGlvcmVxLT5zaXpl KTsKPiAgICAgIHJldHVybiByYzsKPiAgfQo+IAo+IEBAIC0zNDgsMTQgKzMxMywxNCBAQCBzdGF0 aWMgdm9pZCBxZW11X2Fpb19jb21wbGV0ZSh2b2lkICpvcGFxdWUsIGludAo+IHJldCkKPiAgICAg ICAgICBpZiAocmV0ID09IDApIHsKPiAgICAgICAgICAgICAgaW9yZXFfZ3JhbnRfY29weShpb3Jl cSk7Cj4gICAgICAgICAgfQo+IC0gICAgICAgIGlvcmVxX2ZyZWVfY29weV9idWZmZXJzKGlvcmVx KTsKPiArICAgICAgICBxZW11X3ZmcmVlKGlvcmVxLT5idWYpOwo+ICAgICAgICAgIGJyZWFrOwo+ ICAgICAgY2FzZSBCTEtJRl9PUF9XUklURToKPiAgICAgIGNhc2UgQkxLSUZfT1BfRkxVU0hfRElT S0NBQ0hFOgo+ICAgICAgICAgIGlmICghaW9yZXEtPnJlcS5ucl9zZWdtZW50cykgewo+ICAgICAg ICAgICAgICBicmVhazsKPiAgICAgICAgICB9Cj4gLSAgICAgICAgaW9yZXFfZnJlZV9jb3B5X2J1 ZmZlcnMoaW9yZXEpOwo+ICsgICAgICAgIHFlbXVfdmZyZWUoaW9yZXEtPmJ1Zik7Cj4gICAgICAg ICAgYnJlYWs7Cj4gICAgICBkZWZhdWx0Ogo+ICAgICAgICAgIGJyZWFrOwo+IEBAIC00MjMsMTIg KzM4OCwxMiBAQCBzdGF0aWMgaW50IGlvcmVxX3J1bmlvX3FlbXVfYWlvKHN0cnVjdCBpb3JlcQo+ ICppb3JlcSkKPiAgewo+ICAgICAgc3RydWN0IFhlbkJsa0RldiAqYmxrZGV2ID0gaW9yZXEtPmJs a2RldjsKPiAKPiAtICAgIGlvcmVxX2luaXRfY29weV9idWZmZXJzKGlvcmVxKTsKPiArICAgIGlv cmVxLT5idWYgPSBxZW11X21lbWFsaWduKFhDX1BBR0VfU0laRSwgaW9yZXEtPnNpemUpOwo+ICAg ICAgaWYgKGlvcmVxLT5yZXEubnJfc2VnbWVudHMgJiYKPiAgICAgICAgICAoaW9yZXEtPnJlcS5v cGVyYXRpb24gPT0gQkxLSUZfT1BfV1JJVEUgfHwKPiAgICAgICAgICAgaW9yZXEtPnJlcS5vcGVy YXRpb24gPT0gQkxLSUZfT1BfRkxVU0hfRElTS0NBQ0hFKSAmJgo+ICAgICAgICAgIGlvcmVxX2dy YW50X2NvcHkoaW9yZXEpKSB7Cj4gLSAgICAgICAgaW9yZXFfZnJlZV9jb3B5X2J1ZmZlcnMoaW9y ZXEpOwo+ICsgICAgICAgIHFlbXVfdmZyZWUoaW9yZXEtPmJ1Zik7Cj4gICAgICAgICAgZ290byBl cnI7Cj4gICAgICB9Cj4gCj4gLS0KPiAyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s aXN0aW5mby94ZW4tZGV2ZWw=