From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PULL 14/15] xen_disk: use a single entry iovec Date: Mon, 21 May 2018 12:35:03 -0700 Message-ID: <1526931304-7289-14-git-send-email-sstabellini@kernel.org> References: 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 1fKqaP-0000VM-TL for xen-devel@lists.xenproject.org; Mon, 21 May 2018 19:35:13 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: peter.maydell@linaro.org, stefanha@gmail.com Cc: sstabellini@kernel.org, qemu-devel@nongnu.org, Paul Durrant , stefanha@redhat.com, anthony.perard@citrix.com, xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org RnJvbTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KClNpbmNlIHhlbl9k aXNrIG5vdyBhbHdheXMgY29waWVzIGRhdGEgdG8gYW5kIGZyb20gYSBndWVzdCB0aGVyZSBpcyBu byBuZWVkCnRvIG1haW50YWluIGEgdmVjdG9yIGVudHJ5IGNvcnJlc3BvbmRpbmcgdG8gZXZlcnkg cGFnZSBvZiBhIHJlcXVlc3QuClRoaXMgbWVhbnMgdGhlcmUgaXMgbGVzcyBwZXItcmVxdWVzdCBz dGF0ZSB0byBtYWludGFpbiBzbyB0aGUgaW9yZXEKc3RydWN0dXJlIGNhbiBzaHJpbmsgc2lnbmlm aWNhbnRseS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJp eC5jb20+CkFja2VkLWJ5OiBBbnRob255IFBlcmFyZCA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNv bT4KU2lnbmVkLW9mZi1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwu b3JnPgotLS0KIGh3L2Jsb2NrL3hlbl9kaXNrLmMgfCA3NiArKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIxIGluc2Vy dGlvbnMoKyksIDU1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2h3L2Jsb2NrL3hlbl9kaXNr LmMgYi9ody9ibG9jay94ZW5fZGlzay5jCmluZGV4IDI4YmU4YjYuLjI4NjUxYzUgMTAwNjQ0Ci0t LSBhL2h3L2Jsb2NrL3hlbl9kaXNrLmMKKysrIGIvaHcvYmxvY2sveGVuX2Rpc2suYwpAQCAtNDYs MTMgKzQ2LDEwIEBAIHN0cnVjdCBpb3JlcSB7CiAgICAgLyogcGFyc2VkIHJlcXVlc3QgKi8KICAg ICBvZmZfdCAgICAgICAgICAgICAgIHN0YXJ0OwogICAgIFFFTVVJT1ZlY3RvciAgICAgICAgdjsK KyAgICB2b2lkICAgICAgICAgICAgICAgICpidWY7CisgICAgc2l6ZV90ICAgICAgICAgICAgICBz aXplOwogICAgIGludCAgICAgICAgICAgICAgICAgcHJlc3luYzsKIAotICAgIC8qIGdyYW50IG1h cHBpbmcgKi8KLSAgICB1aW50MzJfdCAgICAgICAgICAgIHJlZnNbQkxLSUZfTUFYX1NFR01FTlRT X1BFUl9SRVFVRVNUXTsKLSAgICB2b2lkICAgICAgICAgICAgICAgICpwYWdlW0JMS0lGX01BWF9T RUdNRU5UU19QRVJfUkVRVUVTVF07Ci0gICAgdm9pZCAgICAgICAgICAgICAgICAqcGFnZXM7Ci0K ICAgICAvKiBhaW8gc3RhdHVzICovCiAgICAgaW50ICAgICAgICAgICAgICAgICBhaW9faW5mbGln aHQ7CiAgICAgaW50ICAgICAgICAgICAgICAgICBhaW9fZXJyb3JzOwpAQCAtMTEwLDEyICsxMDcs MTAgQEAgc3RhdGljIHZvaWQgaW9yZXFfcmVzZXQoc3RydWN0IGlvcmVxICppb3JlcSkKICAgICBt ZW1zZXQoJmlvcmVxLT5yZXEsIDAsIHNpemVvZihpb3JlcS0+cmVxKSk7CiAgICAgaW9yZXEtPnN0 YXR1cyA9IDA7CiAgICAgaW9yZXEtPnN0YXJ0ID0gMDsKKyAgICBpb3JlcS0+YnVmID0gTlVMTDsK KyAgICBpb3JlcS0+c2l6ZSA9IDA7CiAgICAgaW9yZXEtPnByZXN5bmMgPSAwOwogCi0gICAgbWVt c2V0KGlvcmVxLT5yZWZzLCAwLCBzaXplb2YoaW9yZXEtPnJlZnMpKTsKLSAgICBtZW1zZXQoaW9y ZXEtPnBhZ2UsIDAsIHNpemVvZihpb3JlcS0+cGFnZSkpOwotICAgIGlvcmVxLT5wYWdlcyA9IE5V TEw7Ci0KICAgICBpb3JlcS0+YWlvX2luZmxpZ2h0ID0gMDsKICAgICBpb3JlcS0+YWlvX2Vycm9y cyA9IDA7CiAKQEAgLTEzOCw3ICsxMzMsNyBAQCBzdGF0aWMgc3RydWN0IGlvcmVxICppb3JlcV9z dGFydChzdHJ1Y3QgWGVuQmxrRGV2ICpibGtkZXYpCiAgICAgICAgIGlvcmVxID0gZ19tYWxsb2Mw KHNpemVvZigqaW9yZXEpKTsKICAgICAgICAgaW9yZXEtPmJsa2RldiA9IGJsa2RldjsKICAgICAg ICAgYmxrZGV2LT5yZXF1ZXN0c190b3RhbCsrOwotICAgICAgICBxZW11X2lvdmVjX2luaXQoJmlv cmVxLT52LCBCTEtJRl9NQVhfU0VHTUVOVFNfUEVSX1JFUVVFU1QpOworICAgICAgICBxZW11X2lv dmVjX2luaXQoJmlvcmVxLT52LCAxKTsKICAgICB9IGVsc2UgewogICAgICAgICAvKiBnZXQgb25l IGZyb20gZnJlZWxpc3QgKi8KICAgICAgICAgaW9yZXEgPSBRTElTVF9GSVJTVCgmYmxrZGV2LT5m cmVlbGlzdCk7CkBAIC0xODMsNyArMTc4LDYgQEAgc3RhdGljIHZvaWQgaW9yZXFfcmVsZWFzZShz dHJ1Y3QgaW9yZXEgKmlvcmVxLCBib29sIGZpbmlzaCkKIHN0YXRpYyBpbnQgaW9yZXFfcGFyc2Uo c3RydWN0IGlvcmVxICppb3JlcSkKIHsKICAgICBzdHJ1Y3QgWGVuQmxrRGV2ICpibGtkZXYgPSBp b3JlcS0+YmxrZGV2OwotICAgIHVpbnRwdHJfdCBtZW07CiAgICAgc2l6ZV90IGxlbjsKICAgICBp bnQgaTsKIApAQCAtMjMwLDEzICsyMjQsMTAgQEAgc3RhdGljIGludCBpb3JlcV9wYXJzZShzdHJ1 Y3QgaW9yZXEgKmlvcmVxKQogICAgICAgICAgICAgZ290byBlcnI7CiAgICAgICAgIH0KIAotICAg ICAgICBpb3JlcS0+cmVmc1tpXSAgID0gaW9yZXEtPnJlcS5zZWdbaV0uZ3JlZjsKLQotICAgICAg ICBtZW0gPSBpb3JlcS0+cmVxLnNlZ1tpXS5maXJzdF9zZWN0ICogYmxrZGV2LT5maWxlX2JsazsK ICAgICAgICAgbGVuID0gKGlvcmVxLT5yZXEuc2VnW2ldLmxhc3Rfc2VjdCAtIGlvcmVxLT5yZXEu c2VnW2ldLmZpcnN0X3NlY3QgKyAxKSAqIGJsa2Rldi0+ZmlsZV9ibGs7Ci0gICAgICAgIHFlbXVf aW92ZWNfYWRkKCZpb3JlcS0+diwgKHZvaWQqKW1lbSwgbGVuKTsKKyAgICAgICAgaW9yZXEtPnNp emUgKz0gbGVuOwogICAgIH0KLSAgICBpZiAoaW9yZXEtPnN0YXJ0ICsgaW9yZXEtPnYuc2l6ZSA+ IGJsa2Rldi0+ZmlsZV9zaXplKSB7CisgICAgaWYgKGlvcmVxLT5zdGFydCArIGlvcmVxLT5zaXpl ID4gYmxrZGV2LT5maWxlX3NpemUpIHsKICAgICAgICAgeGVuX3B2X3ByaW50ZigmYmxrZGV2LT54 ZW5kZXYsIDAsICJlcnJvcjogYWNjZXNzIGJleW9uZCBlbmQgb2YgZmlsZVxuIik7CiAgICAgICAg IGdvdG8gZXJyOwogICAgIH0KQEAgLTI0NywzNSArMjM4LDYgQEAgZXJyOgogICAgIHJldHVybiAt MTsKIH0KIAotc3RhdGljIHZvaWQgaW9yZXFfZnJlZV9jb3B5X2J1ZmZlcnMoc3RydWN0IGlvcmVx ICppb3JlcSkKLXsKLSAgICBpbnQgaTsKLQotICAgIGZvciAoaSA9IDA7IGkgPCBpb3JlcS0+di5u aW92OyBpKyspIHsKLSAgICAgICAgaW9yZXEtPnBhZ2VbaV0gPSBOVUxMOwotICAgIH0KLQotICAg IHFlbXVfdmZyZWUoaW9yZXEtPnBhZ2VzKTsKLX0KLQotc3RhdGljIGludCBpb3JlcV9pbml0X2Nv cHlfYnVmZmVycyhzdHJ1Y3QgaW9yZXEgKmlvcmVxKQotewotICAgIGludCBpOwotCi0gICAgaWYg KGlvcmVxLT52Lm5pb3YgPT0gMCkgewotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICBp b3JlcS0+cGFnZXMgPSBxZW11X21lbWFsaWduKFhDX1BBR0VfU0laRSwgaW9yZXEtPnYubmlvdiAq IFhDX1BBR0VfU0laRSk7Ci0KLSAgICBmb3IgKGkgPSAwOyBpIDwgaW9yZXEtPnYubmlvdjsgaSsr KSB7Ci0gICAgICAgIGlvcmVxLT5wYWdlW2ldID0gaW9yZXEtPnBhZ2VzICsgaSAqIFhDX1BBR0Vf U0laRTsKLSAgICAgICAgaW9yZXEtPnYuaW92W2ldLmlvdl9iYXNlID0gaW9yZXEtPnBhZ2VbaV07 Ci0gICAgfQotCi0gICAgcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQgaW9yZXFfZ3JhbnRfY29w eShzdHJ1Y3QgaW9yZXEgKmlvcmVxKQogewogICAgIHN0cnVjdCBYZW5CbGtEZXYgKmJsa2RldiA9 IGlvcmVxLT5ibGtkZXY7CkBAIC0yODQsMjUgKzI0NiwyNyBAQCBzdGF0aWMgaW50IGlvcmVxX2dy YW50X2NvcHkoc3RydWN0IGlvcmVxICppb3JlcSkKICAgICBpbnQgaSwgY291bnQsIHJjOwogICAg IGludDY0X3QgZmlsZV9ibGsgPSBpb3JlcS0+YmxrZGV2LT5maWxlX2JsazsKICAgICBib29sIHRv X2RvbWFpbiA9IChpb3JlcS0+cmVxLm9wZXJhdGlvbiA9PSBCTEtJRl9PUF9SRUFEKTsKKyAgICB2 b2lkICp2aXJ0ID0gaW9yZXEtPmJ1ZjsKIAotICAgIGlmIChpb3JlcS0+di5uaW92ID09IDApIHsK KyAgICBpZiAoaW9yZXEtPnJlcS5ucl9zZWdtZW50cyA9PSAwKSB7CiAgICAgICAgIHJldHVybiAw OwogICAgIH0KIAotICAgIGNvdW50ID0gaW9yZXEtPnYubmlvdjsKKyAgICBjb3VudCA9IGlvcmVx LT5yZXEubnJfc2VnbWVudHM7CiAKICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewog ICAgICAgICBpZiAodG9fZG9tYWluKSB7Ci0gICAgICAgICAgICBzZWdzW2ldLmRlc3QuZm9yZWln bi5yZWYgPSBpb3JlcS0+cmVmc1tpXTsKKyAgICAgICAgICAgIHNlZ3NbaV0uZGVzdC5mb3JlaWdu LnJlZiA9IGlvcmVxLT5yZXEuc2VnW2ldLmdyZWY7CiAgICAgICAgICAgICBzZWdzW2ldLmRlc3Qu Zm9yZWlnbi5vZmZzZXQgPSBpb3JlcS0+cmVxLnNlZ1tpXS5maXJzdF9zZWN0ICogZmlsZV9ibGs7 Ci0gICAgICAgICAgICBzZWdzW2ldLnNvdXJjZS52aXJ0ID0gaW9yZXEtPnYuaW92W2ldLmlvdl9i YXNlOworICAgICAgICAgICAgc2Vnc1tpXS5zb3VyY2UudmlydCA9IHZpcnQ7CiAgICAgICAgIH0g ZWxzZSB7Ci0gICAgICAgICAgICBzZWdzW2ldLnNvdXJjZS5mb3JlaWduLnJlZiA9IGlvcmVxLT5y ZWZzW2ldOworICAgICAgICAgICAgc2Vnc1tpXS5zb3VyY2UuZm9yZWlnbi5yZWYgPSBpb3JlcS0+ cmVxLnNlZ1tpXS5ncmVmOwogICAgICAgICAgICAgc2Vnc1tpXS5zb3VyY2UuZm9yZWlnbi5vZmZz ZXQgPSBpb3JlcS0+cmVxLnNlZ1tpXS5maXJzdF9zZWN0ICogZmlsZV9ibGs7Ci0gICAgICAgICAg ICBzZWdzW2ldLmRlc3QudmlydCA9IGlvcmVxLT52LmlvdltpXS5pb3ZfYmFzZTsKKyAgICAgICAg ICAgIHNlZ3NbaV0uZGVzdC52aXJ0ID0gdmlydDsKICAgICAgICAgfQogICAgICAgICBzZWdzW2ld LmxlbiA9IChpb3JlcS0+cmVxLnNlZ1tpXS5sYXN0X3NlY3QKICAgICAgICAgICAgICAgICAgICAg ICAgLSBpb3JlcS0+cmVxLnNlZ1tpXS5maXJzdF9zZWN0ICsgMSkgKiBmaWxlX2JsazsKKyAgICAg ICAgdmlydCArPSBzZWdzW2ldLmxlbjsKICAgICB9CiAKICAgICByYyA9IHhlbl9iZV9jb3B5X2dy YW50X3JlZnMoeGVuZGV2LCB0b19kb21haW4sIHNlZ3MsIGNvdW50KTsKQEAgLTM0OCwxNCArMzEy LDE0IEBAIHN0YXRpYyB2b2lkIHFlbXVfYWlvX2NvbXBsZXRlKHZvaWQgKm9wYXF1ZSwgaW50IHJl dCkKICAgICAgICAgaWYgKHJldCA9PSAwKSB7CiAgICAgICAgICAgICBpb3JlcV9ncmFudF9jb3B5 KGlvcmVxKTsKICAgICAgICAgfQotICAgICAgICBpb3JlcV9mcmVlX2NvcHlfYnVmZmVycyhpb3Jl cSk7CisgICAgICAgIHFlbXVfdmZyZWUoaW9yZXEtPmJ1Zik7CiAgICAgICAgIGJyZWFrOwogICAg IGNhc2UgQkxLSUZfT1BfV1JJVEU6CiAgICAgY2FzZSBCTEtJRl9PUF9GTFVTSF9ESVNLQ0FDSEU6 CiAgICAgICAgIGlmICghaW9yZXEtPnJlcS5ucl9zZWdtZW50cykgewogICAgICAgICAgICAgYnJl YWs7CiAgICAgICAgIH0KLSAgICAgICAgaW9yZXFfZnJlZV9jb3B5X2J1ZmZlcnMoaW9yZXEpOwor ICAgICAgICBxZW11X3ZmcmVlKGlvcmVxLT5idWYpOwogICAgICAgICBicmVhazsKICAgICBkZWZh dWx0OgogICAgICAgICBicmVhazsKQEAgLTQyMywxMiArMzg3LDEyIEBAIHN0YXRpYyBpbnQgaW9y ZXFfcnVuaW9fcWVtdV9haW8oc3RydWN0IGlvcmVxICppb3JlcSkKIHsKICAgICBzdHJ1Y3QgWGVu QmxrRGV2ICpibGtkZXYgPSBpb3JlcS0+YmxrZGV2OwogCi0gICAgaW9yZXFfaW5pdF9jb3B5X2J1 ZmZlcnMoaW9yZXEpOworICAgIGlvcmVxLT5idWYgPSBxZW11X21lbWFsaWduKFhDX1BBR0VfU0la RSwgaW9yZXEtPnNpemUpOwogICAgIGlmIChpb3JlcS0+cmVxLm5yX3NlZ21lbnRzICYmCiAgICAg ICAgIChpb3JlcS0+cmVxLm9wZXJhdGlvbiA9PSBCTEtJRl9PUF9XUklURSB8fAogICAgICAgICAg aW9yZXEtPnJlcS5vcGVyYXRpb24gPT0gQkxLSUZfT1BfRkxVU0hfRElTS0NBQ0hFKSAmJgogICAg ICAgICBpb3JlcV9ncmFudF9jb3B5KGlvcmVxKSkgewotICAgICAgICBpb3JlcV9mcmVlX2NvcHlf YnVmZmVycyhpb3JlcSk7CisgICAgICAgIHFlbXVfdmZyZWUoaW9yZXEtPmJ1Zik7CiAgICAgICAg IGdvdG8gZXJyOwogICAgIH0KIApAQCAtNDQwLDYgKzQwNCw3IEBAIHN0YXRpYyBpbnQgaW9yZXFf cnVuaW9fcWVtdV9haW8oc3RydWN0IGlvcmVxICppb3JlcSkKIAogICAgIHN3aXRjaCAoaW9yZXEt PnJlcS5vcGVyYXRpb24pIHsKICAgICBjYXNlIEJMS0lGX09QX1JFQUQ6CisgICAgICAgIHFlbXVf aW92ZWNfYWRkKCZpb3JlcS0+diwgaW9yZXEtPmJ1ZiwgaW9yZXEtPnNpemUpOwogICAgICAgICBi bG9ja19hY2N0X3N0YXJ0KGJsa19nZXRfc3RhdHMoYmxrZGV2LT5ibGspLCAmaW9yZXEtPmFjY3Qs CiAgICAgICAgICAgICAgICAgICAgICAgICAgaW9yZXEtPnYuc2l6ZSwgQkxPQ0tfQUNDVF9SRUFE KTsKICAgICAgICAgaW9yZXEtPmFpb19pbmZsaWdodCsrOwpAQCAtNDUyLDYgKzQxNyw3IEBAIHN0 YXRpYyBpbnQgaW9yZXFfcnVuaW9fcWVtdV9haW8oc3RydWN0IGlvcmVxICppb3JlcSkKICAgICAg ICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKKyAgICAgICAgcWVtdV9pb3ZlY19hZGQoJmlvcmVx LT52LCBpb3JlcS0+YnVmLCBpb3JlcS0+c2l6ZSk7CiAgICAgICAgIGJsb2NrX2FjY3Rfc3RhcnQo YmxrX2dldF9zdGF0cyhibGtkZXYtPmJsayksICZpb3JlcS0+YWNjdCwKICAgICAgICAgICAgICAg ICAgICAgICAgICBpb3JlcS0+di5zaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgIGlvcmVx LT5yZXEub3BlcmF0aW9uID09IEJMS0lGX09QX1dSSVRFID8KLS0gCjEuOS4xCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9q ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==