From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH v4 08/20] block/xen-blkfront: split get_grant in 2 Date: Mon, 7 Sep 2015 16:33:46 +0100 Message-ID: <1441640038-23615-9-git-send-email-julien.grall__33882.3807113387$1441640217$gmane$org@citrix.com> References: <1441640038-23615-1-git-send-email-julien.grall@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZYyS8-0000jn-43 for xen-devel@lists.xenproject.org; Mon, 07 Sep 2015 15:35:28 +0000 In-Reply-To: <1441640038-23615-1-git-send-email-julien.grall@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: ian.campbell@citrix.com, stefano.stabellini@eu.citrix.com, linux-kernel@vger.kernel.org, Julien Grall , David Vrabel , Boris Ostrovsky , linux-arm-kernel@lists.infradead.org, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org UHJlcGFyZSB0aGUgY29kZSB0byBzdXBwb3J0IDY0S0IgcGFnZSBncmFudWxhcml0eS4gVGhlIGZp cnN0CmltcGxlbWVudGF0aW9uIHdpbGwgdXNlIGEgZnVsbCBMaW51eCBwYWdlIHBlciBpbmRpcmVj dCBhbmQgcGVyc2lzdGVudApncmFudC4gV2hlbiBub24tcGVyc2lzdGVudCBncmFudCBpcyB1c2Vk LCBlYWNoIHBhZ2Ugb2YgYSBiaW8gcmVxdWVzdAptYXkgYmUgc3BsaXQgaW4gbXVsdGlwbGUgZ3Jh bnQuCgpGdXJ0aGVybW9yZSwgdGhlIGZpZWxkIHBhZ2Ugb2YgdGhlIGdyYW50IHN0cnVjdHVyZSBp cyBvbmx5IHVzZWQgdG8gY29weQpkYXRhIGZyb20gcGVyc2lzdGVudCBncmFudCBvciBpbmRpcmVj dCBncmFudC4gQXZvaWQgdG8gc2V0IGl0IGZvciBvdGhlcgp1c2UgY2FzZSBhcyBpdCB3aWxsIGhh dmUgbm8gbWVhbmluZyBnaXZlbiB0aGUgcGFnZSB3aWxsIGJlIHNwbGl0IGluCm11bHRpcGxlIGdy YW50LgoKUHJvdmlkZSAyIGZ1bmN0aW9ucywgdG8gc2V0dXAgaW5kaXJlY3QgZ3JhbnQsIHRoZSBv dGhlciBmb3IgYmlvIHBhZ2UuCgpTaWduZWQtb2ZmLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5n cmFsbEBjaXRyaXguY29tPgpBY2tlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNp dHJpeC5jb20+CgotLS0KQ2M6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3Jh Y2xlLmNvbT4KQ2M6IEJvcmlzIE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+ CkNjOiBEYXZpZCBWcmFiZWwgPGRhdmlkLnZyYWJlbEBjaXRyaXguY29tPgoKICAgIENoYW5nZXMg aW4gdjQ6CiAgICAgICAgLSBBZGQgUm9nZXIncyBhY2tlZC1ieQoKICAgIENoYW5nZXMgaW4gdjM6 CiAgICAgICAgLSBGaXggZXJyb3JzIHJlcG9ydGVkIGJ5IGNoZWNrcGF0Y2gucGwKICAgICAgICAt IGdudHRhYl9wYWdlX2dyYW50X2ZvcmVpZ25fYWNjZXNzX3JlZiBoYXMgYmVlbiByZW5hbWVkIHRv CiAgICAgICAgZ250dGFiX3BhZ2VfZ3JhbnRfZm9yZWlnbl9hY2Nlc3NfcmVmX29uZQogICAgICAg IC0gRml4IGNvbXBpbGF0aW9uIGJ5IHVzaW5nIGdldF9pbmRpcmVjdF9ncmFudCByYXRoZXIgdGhh bgogICAgICAgIGdldF9ncmFudCAodGhlIGNoYW5nZXMgd2FzIGluIGEgbGF0ZXIgcGF0Y2guLi4p LgogICAgICAgIC0gTWFrZSBncmFudF9mb3JlaWduX2FjY2VzcyBzdGF0aWMgaW5saW5lCiAgICAg ICAgLSBzL21mbi9nZm4vIGJhc2VkIG9uIHRoZSBuZXcgbmFtaW5nCgogICAgQ2hhbmdlcyBpbiB2 MjoKICAgICAgICAtIFBhdGNoIGFkZGVkCi0tLQogZHJpdmVycy9ibG9jay94ZW4tYmxrZnJvbnQu YyB8IDg4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgNTkgaW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ibG9jay94ZW4tYmxrZnJvbnQuYyBiL2RyaXZlcnMvYmxvY2sveGVuLWJsa2Zy b250LmMKaW5kZXggNTU2NDc1ZC4uNDIzMmNiZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay94 ZW4tYmxrZnJvbnQuYworKysgYi9kcml2ZXJzL2Jsb2NrL3hlbi1ibGtmcm9udC5jCkBAIC0yNDUs MzQgKzI0NSw3NyBAQCBvdXRfb2ZfbWVtb3J5OgogCXJldHVybiAtRU5PTUVNOwogfQogCi1zdGF0 aWMgc3RydWN0IGdyYW50ICpnZXRfZ3JhbnQoZ3JhbnRfcmVmX3QgKmdyZWZfaGVhZCwKLQkJCSAg ICAgICBzdHJ1Y3QgcGFnZSAqcGFnZSwKLQkJCSAgICAgICBzdHJ1Y3QgYmxrZnJvbnRfaW5mbyAq aW5mbykKK3N0YXRpYyBzdHJ1Y3QgZ3JhbnQgKmdldF9mcmVlX2dyYW50KHN0cnVjdCBibGtmcm9u dF9pbmZvICppbmZvKQogewogCXN0cnVjdCBncmFudCAqZ250X2xpc3RfZW50cnk7Ci0JdW5zaWdu ZWQgbG9uZyBidWZmZXJfZ2ZuOwogCiAJQlVHX09OKGxpc3RfZW1wdHkoJmluZm8tPmdyYW50cykp OwogCWdudF9saXN0X2VudHJ5ID0gbGlzdF9maXJzdF9lbnRyeSgmaW5mby0+Z3JhbnRzLCBzdHJ1 Y3QgZ3JhbnQsCi0JICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUpOworCQkJ CQkgIG5vZGUpOwogCWxpc3RfZGVsKCZnbnRfbGlzdF9lbnRyeS0+bm9kZSk7CiAKLQlpZiAoZ250 X2xpc3RfZW50cnktPmdyZWYgIT0gR1JBTlRfSU5WQUxJRF9SRUYpIHsKKwlpZiAoZ250X2xpc3Rf ZW50cnktPmdyZWYgIT0gR1JBTlRfSU5WQUxJRF9SRUYpCiAJCWluZm8tPnBlcnNpc3RlbnRfZ250 c19jLS07CisKKwlyZXR1cm4gZ250X2xpc3RfZW50cnk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9p ZCBncmFudF9mb3JlaWduX2FjY2Vzcyhjb25zdCBzdHJ1Y3QgZ3JhbnQgKmdudF9saXN0X2VudHJ5 LAorCQkJCQljb25zdCBzdHJ1Y3QgYmxrZnJvbnRfaW5mbyAqaW5mbykKK3sKKwlnbnR0YWJfcGFn ZV9ncmFudF9mb3JlaWduX2FjY2Vzc19yZWZfb25lKGdudF9saXN0X2VudHJ5LT5ncmVmLAorCQkJ CQkJIGluZm8tPnhiZGV2LT5vdGhlcmVuZF9pZCwKKwkJCQkJCSBnbnRfbGlzdF9lbnRyeS0+cGFn ZSwKKwkJCQkJCSAwKTsKK30KKworc3RhdGljIHN0cnVjdCBncmFudCAqZ2V0X2dyYW50KGdyYW50 X3JlZl90ICpncmVmX2hlYWQsCisJCQkgICAgICAgdW5zaWduZWQgbG9uZyBnZm4sCisJCQkgICAg ICAgc3RydWN0IGJsa2Zyb250X2luZm8gKmluZm8pCit7CisJc3RydWN0IGdyYW50ICpnbnRfbGlz dF9lbnRyeSA9IGdldF9mcmVlX2dyYW50KGluZm8pOworCisJaWYgKGdudF9saXN0X2VudHJ5LT5n cmVmICE9IEdSQU5UX0lOVkFMSURfUkVGKQogCQlyZXR1cm4gZ250X2xpc3RfZW50cnk7CisKKwkv KiBBc3NpZ24gYSBncmVmIHRvIHRoaXMgcGFnZSAqLworCWdudF9saXN0X2VudHJ5LT5ncmVmID0g Z250dGFiX2NsYWltX2dyYW50X3JlZmVyZW5jZShncmVmX2hlYWQpOworCUJVR19PTihnbnRfbGlz dF9lbnRyeS0+Z3JlZiA9PSAtRU5PU1BDKTsKKwlpZiAoaW5mby0+ZmVhdHVyZV9wZXJzaXN0ZW50 KQorCQlncmFudF9mb3JlaWduX2FjY2VzcyhnbnRfbGlzdF9lbnRyeSwgaW5mbyk7CisJZWxzZSB7 CisJCS8qIEdyYW50IGFjY2VzcyB0byB0aGUgR0ZOIHBhc3NlZCBieSB0aGUgY2FsbGVyICovCisJ CWdudHRhYl9ncmFudF9mb3JlaWduX2FjY2Vzc19yZWYoZ250X2xpc3RfZW50cnktPmdyZWYsCisJ CQkJCQlpbmZvLT54YmRldi0+b3RoZXJlbmRfaWQsCisJCQkJCQlnZm4sIDApOwogCX0KIAorCXJl dHVybiBnbnRfbGlzdF9lbnRyeTsKK30KKworc3RhdGljIHN0cnVjdCBncmFudCAqZ2V0X2luZGly ZWN0X2dyYW50KGdyYW50X3JlZl90ICpncmVmX2hlYWQsCisJCQkJCXN0cnVjdCBibGtmcm9udF9p bmZvICppbmZvKQoreworCXN0cnVjdCBncmFudCAqZ250X2xpc3RfZW50cnkgPSBnZXRfZnJlZV9n cmFudChpbmZvKTsKKworCWlmIChnbnRfbGlzdF9lbnRyeS0+Z3JlZiAhPSBHUkFOVF9JTlZBTElE X1JFRikKKwkJcmV0dXJuIGdudF9saXN0X2VudHJ5OworCiAJLyogQXNzaWduIGEgZ3JlZiB0byB0 aGlzIHBhZ2UgKi8KIAlnbnRfbGlzdF9lbnRyeS0+Z3JlZiA9IGdudHRhYl9jbGFpbV9ncmFudF9y ZWZlcmVuY2UoZ3JlZl9oZWFkKTsKIAlCVUdfT04oZ250X2xpc3RfZW50cnktPmdyZWYgPT0gLUVO T1NQQyk7CiAJaWYgKCFpbmZvLT5mZWF0dXJlX3BlcnNpc3RlbnQpIHsKLQkJQlVHX09OKCFwYWdl KTsKLQkJZ250X2xpc3RfZW50cnktPnBhZ2UgPSBwYWdlOworCQlzdHJ1Y3QgcGFnZSAqaW5kaXJl Y3RfcGFnZTsKKworCQkvKiBGZXRjaCBhIHByZS1hbGxvY2F0ZWQgcGFnZSB0byB1c2UgZm9yIGlu ZGlyZWN0IGdyZWZzICovCisJCUJVR19PTihsaXN0X2VtcHR5KCZpbmZvLT5pbmRpcmVjdF9wYWdl cykpOworCQlpbmRpcmVjdF9wYWdlID0gbGlzdF9maXJzdF9lbnRyeSgmaW5mby0+aW5kaXJlY3Rf cGFnZXMsCisJCQkJCQkgc3RydWN0IHBhZ2UsIGxydSk7CisJCWxpc3RfZGVsKCZpbmRpcmVjdF9w YWdlLT5scnUpOworCQlnbnRfbGlzdF9lbnRyeS0+cGFnZSA9IGluZGlyZWN0X3BhZ2U7CiAJfQot CWJ1ZmZlcl9nZm4gPSB4ZW5fcGFnZV90b19nZm4oZ250X2xpc3RfZW50cnktPnBhZ2UpOwotCWdu dHRhYl9ncmFudF9mb3JlaWduX2FjY2Vzc19yZWYoZ250X2xpc3RfZW50cnktPmdyZWYsCi0JICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLT54YmRldi0+b3RoZXJlbmRfaWQsCi0J ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXJfZ2ZuLCAwKTsKKwlncmFudF9m b3JlaWduX2FjY2VzcyhnbnRfbGlzdF9lbnRyeSwgaW5mbyk7CisKIAlyZXR1cm4gZ250X2xpc3Rf ZW50cnk7CiB9CiAKQEAgLTUyNSwzMiArNTY4LDE5IEBAIHN0YXRpYyBpbnQgYmxraWZfcXVldWVf cndfcmVxKHN0cnVjdCByZXF1ZXN0ICpyZXEpCiAKIAkJaWYgKChyaW5nX3JlcS0+b3BlcmF0aW9u ID09IEJMS0lGX09QX0lORElSRUNUKSAmJgogCQkgICAgKGkgJSBTRUdTX1BFUl9JTkRJUkVDVF9G UkFNRSA9PSAwKSkgewotCQkJc3RydWN0IHBhZ2UgKnVuaW5pdGlhbGl6ZWRfdmFyKHBhZ2UpOwot CiAJCQlpZiAoc2VnbWVudHMpCiAJCQkJa3VubWFwX2F0b21pYyhzZWdtZW50cyk7CiAKIAkJCW4g PSBpIC8gU0VHU19QRVJfSU5ESVJFQ1RfRlJBTUU7Ci0JCQlpZiAoIWluZm8tPmZlYXR1cmVfcGVy c2lzdGVudCkgewotCQkJCXN0cnVjdCBwYWdlICppbmRpcmVjdF9wYWdlOwotCi0JCQkJLyoKLQkJ CQkgKiBGZXRjaCBhIHByZS1hbGxvY2F0ZWQgcGFnZSB0byB1c2UgZm9yCi0JCQkJICogaW5kaXJl Y3QgZ3JlZnMKLQkJCQkgKi8KLQkJCQlCVUdfT04obGlzdF9lbXB0eSgmaW5mby0+aW5kaXJlY3Rf cGFnZXMpKTsKLQkJCQlpbmRpcmVjdF9wYWdlID0gbGlzdF9maXJzdF9lbnRyeSgmaW5mby0+aW5k aXJlY3RfcGFnZXMsCi0JCQkJCQkJCSBzdHJ1Y3QgcGFnZSwgbHJ1KTsKLQkJCQlsaXN0X2RlbCgm aW5kaXJlY3RfcGFnZS0+bHJ1KTsKLQkJCQlwYWdlID0gaW5kaXJlY3RfcGFnZTsKLQkJCX0KLQkJ CWdudF9saXN0X2VudHJ5ID0gZ2V0X2dyYW50KCZncmVmX2hlYWQsIHBhZ2UsIGluZm8pOworCQkJ Z250X2xpc3RfZW50cnkgPSBnZXRfaW5kaXJlY3RfZ3JhbnQoJmdyZWZfaGVhZCwgaW5mbyk7CiAJ CQlpbmZvLT5zaGFkb3dbaWRdLmluZGlyZWN0X2dyYW50c1tuXSA9IGdudF9saXN0X2VudHJ5Owog CQkJc2VnbWVudHMgPSBrbWFwX2F0b21pYyhnbnRfbGlzdF9lbnRyeS0+cGFnZSk7CiAJCQlyaW5n X3JlcS0+dS5pbmRpcmVjdC5pbmRpcmVjdF9ncmVmc1tuXSA9IGdudF9saXN0X2VudHJ5LT5ncmVm OwogCQl9CiAKLQkJZ250X2xpc3RfZW50cnkgPSBnZXRfZ3JhbnQoJmdyZWZfaGVhZCwgc2dfcGFn ZShzZyksIGluZm8pOworCQlnbnRfbGlzdF9lbnRyeSA9IGdldF9ncmFudCgmZ3JlZl9oZWFkLAor CQkJCQkgICB4ZW5fcGFnZV90b19nZm4oc2dfcGFnZShzZykpLAorCQkJCQkgICBpbmZvKTsKIAkJ cmVmID0gZ250X2xpc3RfZW50cnktPmdyZWY7CiAKIAkJaW5mby0+c2hhZG93W2lkXS5ncmFudHNf dXNlZFtpXSA9IGdudF9saXN0X2VudHJ5OwotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k ZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=