From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH v2 07/20] block/xen-blkfront: split get_grant in 2 Date: Thu, 9 Jul 2015 21:42:19 +0100 Message-ID: <1436474552-31789-8-git-send-email-julien.grall__27153.7169734531$1436474748$gmane$org@citrix.com> References: <1436474552-31789-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZDIfY-0008Cp-5q for xen-devel@lists.xenproject.org; Thu, 09 Jul 2015 20:43:44 +0000 In-Reply-To: <1436474552-31789-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 cmFsbEBjaXRyaXguY29tPgpDYzogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0Bv cmFjbGUuY29tPgpDYzogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkNj OiBCb3JpcyBPc3Ryb3Zza3kgPGJvcmlzLm9zdHJvdnNreUBvcmFjbGUuY29tPgpDYzogRGF2aWQg VnJhYmVsIDxkYXZpZC52cmFiZWxAY2l0cml4LmNvbT4KLS0tCiAgICBDaGFuZ2VzIGluIHYyOgog ICAgICAgIC0gUGF0Y2ggYWRkZWQKLS0tCiBkcml2ZXJzL2Jsb2NrL3hlbi1ibGtmcm9udC5jIHwg ODUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2Jsb2NrL3hlbi1ibGtmcm9udC5jIGIvZHJpdmVycy9ibG9jay94ZW4tYmxrZnJvbnQu YwppbmRleCA3YjgxZDIzLi45NWZkMDY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL3hlbi1i bGtmcm9udC5jCisrKyBiL2RyaXZlcnMvYmxvY2sveGVuLWJsa2Zyb250LmMKQEAgLTI0MiwzNCAr MjQyLDc3IEBAIG91dF9vZl9tZW1vcnk6CiAJcmV0dXJuIC1FTk9NRU07CiB9CiAKLXN0YXRpYyBz dHJ1Y3QgZ3JhbnQgKmdldF9ncmFudChncmFudF9yZWZfdCAqZ3JlZl9oZWFkLAotCQkJICAgICAg IHN0cnVjdCBwYWdlICpwYWdlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBibGtmcm9udF9pbmZvICppbmZvKQorc3RhdGljIHN0cnVjdCBncmFudCAqZ2V0X2ZyZWVfZ3Jh bnQoc3RydWN0IGJsa2Zyb250X2luZm8gKmluZm8pCiB7CiAJc3RydWN0IGdyYW50ICpnbnRfbGlz dF9lbnRyeTsKLQl1bnNpZ25lZCBsb25nIGJ1ZmZlcl9tZm47CiAKIAlCVUdfT04obGlzdF9lbXB0 eSgmaW5mby0+Z3JhbnRzKSk7CiAJZ250X2xpc3RfZW50cnkgPSBsaXN0X2ZpcnN0X2VudHJ5KCZp bmZvLT5ncmFudHMsIHN0cnVjdCBncmFudCwKLQkgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbm9kZSk7CisJCQkJCSAgbm9kZSk7CiAJbGlzdF9kZWwoJmdudF9saXN0X2VudHJ5LT5u b2RlKTsKIAotCWlmIChnbnRfbGlzdF9lbnRyeS0+Z3JlZiAhPSBHUkFOVF9JTlZBTElEX1JFRikg eworCWlmIChnbnRfbGlzdF9lbnRyeS0+Z3JlZiAhPSBHUkFOVF9JTlZBTElEX1JFRikKIAkJaW5m by0+cGVyc2lzdGVudF9nbnRzX2MtLTsKKworCXJldHVybiBnbnRfbGlzdF9lbnRyeTsKK30KKwor c3RhdGljIHZvaWQgZ3JhbnRfZm9yZWlnbl9hY2Nlc3MoY29uc3Qgc3RydWN0IGdyYW50ICpnbnRf bGlzdF9lbnRyeSwKKwkJCQkgY29uc3Qgc3RydWN0IGJsa2Zyb250X2luZm8gKmluZm8pCit7CisJ Z250dGFiX3BhZ2VfZ3JhbnRfZm9yZWlnbl9hY2Nlc3NfcmVmKGdudF9saXN0X2VudHJ5LT5ncmVm LAorCQkJCQkgICAgIGluZm8tPnhiZGV2LT5vdGhlcmVuZF9pZCwKKwkJCQkJICAgICBnbnRfbGlz dF9lbnRyeS0+cGFnZSwKKwkJCQkJICAgICAwKTsKK30KKworc3RhdGljIHN0cnVjdCBncmFudCAq Z2V0X2dyYW50KGdyYW50X3JlZl90ICpncmVmX2hlYWQsCisJCQkgICAgICAgdW5zaWduZWQgbG9u ZyBtZm4sCisJCQkgICAgICAgc3RydWN0IGJsa2Zyb250X2luZm8gKmluZm8pCit7CisJc3RydWN0 IGdyYW50ICpnbnRfbGlzdF9lbnRyeSA9IGdldF9mcmVlX2dyYW50KGluZm8pOworCisJaWYgKGdu dF9saXN0X2VudHJ5LT5ncmVmICE9IEdSQU5UX0lOVkFMSURfUkVGKQogCQlyZXR1cm4gZ250X2xp c3RfZW50cnk7CisKKwkvKiBBc3NpZ24gYSBncmVmIHRvIHRoaXMgcGFnZSAqLworCWdudF9saXN0 X2VudHJ5LT5ncmVmID0gZ250dGFiX2NsYWltX2dyYW50X3JlZmVyZW5jZShncmVmX2hlYWQpOwor CUJVR19PTihnbnRfbGlzdF9lbnRyeS0+Z3JlZiA9PSAtRU5PU1BDKTsKKwlpZiAoaW5mby0+ZmVh dHVyZV9wZXJzaXN0ZW50KQorCQlncmFudF9mb3JlaWduX2FjY2VzcyhnbnRfbGlzdF9lbnRyeSwg aW5mbyk7CisJZWxzZSB7CisJCS8qIEdyYW50IGFjY2VzcyB0byB0aGUgTUZOIHBhc3NlZCBieSB0 aGUgY2FsbGVyICovCisJCWdudHRhYl9ncmFudF9mb3JlaWduX2FjY2Vzc19yZWYoZ250X2xpc3Rf ZW50cnktPmdyZWYsCisJCQkgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLT54YmRldi0+b3Ro ZXJlbmRfaWQsCisJCQkJICAgICAgICAgICAgICAgIG1mbiwgMCk7CiAJfQogCisJcmV0dXJuIGdu dF9saXN0X2VudHJ5OworfQorCitzdGF0aWMgc3RydWN0IGdyYW50ICpnZXRfaW5kaXJlY3RfZ3Jh bnQoZ3JhbnRfcmVmX3QgKmdyZWZfaGVhZCwKKwkJCQkJc3RydWN0IGJsa2Zyb250X2luZm8gKmlu Zm8pCit7CisJc3RydWN0IGdyYW50ICpnbnRfbGlzdF9lbnRyeSA9IGdldF9mcmVlX2dyYW50KGlu Zm8pOworCisJaWYgKGdudF9saXN0X2VudHJ5LT5ncmVmICE9IEdSQU5UX0lOVkFMSURfUkVGKQor CQlyZXR1cm4gZ250X2xpc3RfZW50cnk7CisKIAkvKiBBc3NpZ24gYSBncmVmIHRvIHRoaXMgcGFn ZSAqLwogCWdudF9saXN0X2VudHJ5LT5ncmVmID0gZ250dGFiX2NsYWltX2dyYW50X3JlZmVyZW5j ZShncmVmX2hlYWQpOwogCUJVR19PTihnbnRfbGlzdF9lbnRyeS0+Z3JlZiA9PSAtRU5PU1BDKTsK IAlpZiAoIWluZm8tPmZlYXR1cmVfcGVyc2lzdGVudCkgewotCQlCVUdfT04oIXBhZ2UpOwotCQln bnRfbGlzdF9lbnRyeS0+cGFnZSA9IHBhZ2U7CisJCXN0cnVjdCBwYWdlICppbmRpcmVjdF9wYWdl OworCisJCS8qIEZldGNoIGEgcHJlLWFsbG9jYXRlZCBwYWdlIHRvIHVzZSBmb3IgaW5kaXJlY3Qg Z3JlZnMgKi8KKwkJQlVHX09OKGxpc3RfZW1wdHkoJmluZm8tPmluZGlyZWN0X3BhZ2VzKSk7CisJ CWluZGlyZWN0X3BhZ2UgPSBsaXN0X2ZpcnN0X2VudHJ5KCZpbmZvLT5pbmRpcmVjdF9wYWdlcywK KwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBhZ2UsIGxydSk7CisJ CWxpc3RfZGVsKCZpbmRpcmVjdF9wYWdlLT5scnUpOworCQlnbnRfbGlzdF9lbnRyeS0+cGFnZSA9 IGluZGlyZWN0X3BhZ2U7CiAJfQotCWJ1ZmZlcl9tZm4gPSBwYWdlX3RvX21mbihnbnRfbGlzdF9l bnRyeS0+cGFnZSk7Ci0JZ250dGFiX2dyYW50X2ZvcmVpZ25fYWNjZXNzX3JlZihnbnRfbGlzdF9l bnRyeS0+Z3JlZiwKLQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8tPnhiZGV2 LT5vdGhlcmVuZF9pZCwKLQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlcl9t Zm4sIDApOworCWdyYW50X2ZvcmVpZ25fYWNjZXNzKGdudF9saXN0X2VudHJ5LCBpbmZvKTsKKwog CXJldHVybiBnbnRfbGlzdF9lbnRyeTsKIH0KIApAQCAtNTIyLDI5ICs1NjUsMTkgQEAgc3RhdGlj IGludCBibGtpZl9xdWV1ZV9yd19yZXEoc3RydWN0IHJlcXVlc3QgKnJlcSkKIAogCQlpZiAoKHJp bmdfcmVxLT5vcGVyYXRpb24gPT0gQkxLSUZfT1BfSU5ESVJFQ1QpICYmCiAJCSAgICAoaSAlIFNF R1NfUEVSX0lORElSRUNUX0ZSQU1FID09IDApKSB7Ci0JCQlzdHJ1Y3QgcGFnZSAqdW5pbml0aWFs aXplZF92YXIocGFnZSk7Ci0KIAkJCWlmIChzZWdtZW50cykKIAkJCQlrdW5tYXBfYXRvbWljKHNl Z21lbnRzKTsKIAogCQkJbiA9IGkgLyBTRUdTX1BFUl9JTkRJUkVDVF9GUkFNRTsKLQkJCWlmICgh aW5mby0+ZmVhdHVyZV9wZXJzaXN0ZW50KSB7Ci0JCQkJc3RydWN0IHBhZ2UgKmluZGlyZWN0X3Bh Z2U7Ci0KLQkJCQkvKiBGZXRjaCBhIHByZS1hbGxvY2F0ZWQgcGFnZSB0byB1c2UgZm9yIGluZGly ZWN0IGdyZWZzICovCi0JCQkJQlVHX09OKGxpc3RfZW1wdHkoJmluZm8tPmluZGlyZWN0X3BhZ2Vz KSk7Ci0JCQkJaW5kaXJlY3RfcGFnZSA9IGxpc3RfZmlyc3RfZW50cnkoJmluZm8tPmluZGlyZWN0 X3BhZ2VzLAotCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwYWdl LCBscnUpOwotCQkJCWxpc3RfZGVsKCZpbmRpcmVjdF9wYWdlLT5scnUpOwotCQkJCXBhZ2UgPSBp bmRpcmVjdF9wYWdlOwotCQkJfQotCQkJZ250X2xpc3RfZW50cnkgPSBnZXRfZ3JhbnQoJmdyZWZf aGVhZCwgcGFnZSwgaW5mbyk7CisJCQlnbnRfbGlzdF9lbnRyeSA9IGdldF9pbmRpcmVjdF9ncmFu dCgmZ3JlZl9oZWFkLCBpbmZvKTsKIAkJCWluZm8tPnNoYWRvd1tpZF0uaW5kaXJlY3RfZ3JhbnRz W25dID0gZ250X2xpc3RfZW50cnk7CiAJCQlzZWdtZW50cyA9IGttYXBfYXRvbWljKGdudF9saXN0 X2VudHJ5LT5wYWdlKTsKIAkJCXJpbmdfcmVxLT51LmluZGlyZWN0LmluZGlyZWN0X2dyZWZzW25d ID0gZ250X2xpc3RfZW50cnktPmdyZWY7CiAJCX0KIAotCQlnbnRfbGlzdF9lbnRyeSA9IGdldF9n cmFudCgmZ3JlZl9oZWFkLCBzZ19wYWdlKHNnKSwgaW5mbyk7CisJCWdudF9saXN0X2VudHJ5ID0g Z2V0X2dyYW50KCZncmVmX2hlYWQsCisJCQkJCSAgIHBhZ2VfdG9fbWZuKHNnX3BhZ2Uoc2cpKSwK KwkJCQkJICAgaW5mbyk7CiAJCXJlZiA9IGdudF9saXN0X2VudHJ5LT5ncmVmOwogCiAJCWluZm8t PnNoYWRvd1tpZF0uZ3JhbnRzX3VzZWRbaV0gPSBnbnRfbGlzdF9lbnRyeTsKLS0gCjIuMS40CgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK