From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH 5/7] xen/9pfs: send requests to the backend Date: Mon, 6 Mar 2017 12:01:26 -0800 Message-ID: <1488830488-18506-5-git-send-email-sstabellini@kernel.org> References: <1488830488-18506-1-git-send-email-sstabellini@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ckypL-0004Mg-K9 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2017 20:01:51 +0000 In-Reply-To: <1488830488-18506-1-git-send-email-sstabellini@kernel.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: jgross@suse.com, Latchesar Ionkov , sstabellini@kernel.org, Eric Van Hensbergen , linux-kernel@vger.kernel.org, Stefano Stabellini , v9fs-developer@lists.sourceforge.net, Ron Minnich , boris.ostrovsky@oracle.com List-Id: xen-devel@lists.xenproject.org SW1wbGVtZW50IHN0cnVjdCBwOV90cmFuc19tb2R1bGUgY3JlYXRlIGFuZCBjbG9zZSBmdW5jdGlv bnMgYnkgbG9va2luZwphdCB0aGUgYXZhaWxhYmxlIFhlbiA5cGZzIGZyb250ZW5kLWJhY2tlbmQg Y29ubmVjdGlvbnMuIFdlIGRvbid0IGV4cGVjdAptYW55IGZyb250ZW5kLWJhY2tlbmQgY29ubmVj dGlvbnMsIHRodXMgd2Fsa2luZyBhIGxpc3QgaXMgT0suCgpTZW5kIHJlcXVlc3RzIHRvIHRoZSBi YWNrZW5kIGJ5IGNvcHlpbmcgZWFjaCByZXF1ZXN0IHRvIG9uZSBvZiB0aGUKYXZhaWxhYmxlIHJp bmdzIChlYWNoIGZyb250ZW5kLWJhY2tlbmQgY29ubmVjdGlvbiBjb21lcyB3aXRoIG11bHRpcGxl CnJpbmdzKS4gSGFuZGxlIHRoZSByaW5nIGFuZCBub3RpZmljYXRpb25zIGZvbGxvd2luZyB0aGUg OXBmcwpzcGVjaWZpY2F0aW9uLiBJZiB0aGVyZSBhcmUgbm90IGVub3VnaCBmcmVlIGJ5dGVzIG9u IHRoZSByaW5nIGZvciB0aGUKcmVxdWVzdCwgd2FpdCBvbiB0aGUgd2FpdF9xdWV1ZTogdGhlIGJh Y2tlbmQgd2lsbCBzZW5kIGEgbm90aWZpY2F0aW9uCmFmdGVyIGNvbnN1bWluZyBtb3JlIHJlcXVl c3RzLgoKU2lnbmVkLW9mZi1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vQGFwb3JldG8u Y29tPgpDQzogYm9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20KQ0M6IGpncm9zc0BzdXNlLmNvbQpD QzogRXJpYyBWYW4gSGVuc2JlcmdlbiA8ZXJpY3ZoQGdtYWlsLmNvbT4KQ0M6IFJvbiBNaW5uaWNo IDxybWlubmljaEBzYW5kaWEuZ292PgpDQzogTGF0Y2hlc2FyIElvbmtvdiA8bHVjaG9AaW9ua292 Lm5ldD4KQ0M6IHY5ZnMtZGV2ZWxvcGVyQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAotLS0KIG5ldC85 cC90cmFuc194ZW4uYyB8IDgzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvOXAvdHJhbnNfeGVuLmMgYi9uZXQvOXAvdHJhbnNf eGVuLmMKaW5kZXggOWY2Y2Y4ZC4uNGUyNjU1NiAxMDA2NDQKLS0tIGEvbmV0LzlwL3RyYW5zX3hl bi5jCisrKyBiL25ldC85cC90cmFuc194ZW4uYwpAQCAtNDcsMjIgKzQ3LDEwMyBAQCBzdHJ1Y3Qg eGVuXzlwZnNfZnJvbnRfcHJpdiB7CiB9Owogc3RhdGljIExJU1RfSEVBRCh4ZW5fOXBmc19kZXZz KTsKIAorLyogV2UgZG9uJ3QgY3VycmVudGx5IGFsbG93IGNhbmNlbGluZyBvZiByZXF1ZXN0cyAq Lwogc3RhdGljIGludCBwOV94ZW5fY2FuY2VsKHN0cnVjdCBwOV9jbGllbnQgKmNsaWVudCwgc3Ry dWN0IHA5X3JlcV90ICpyZXEpCiB7Ci0JcmV0dXJuIDA7CisJcmV0dXJuIDE7CiB9CiAKIHN0YXRp YyBpbnQgcDlfeGVuX2NyZWF0ZShzdHJ1Y3QgcDlfY2xpZW50ICpjbGllbnQsIGNvbnN0IGNoYXIg KmFkZHIsIGNoYXIgKmFyZ3MpCiB7CisJc3RydWN0IHhlbl85cGZzX2Zyb250X3ByaXYgKnByaXYg PSBOVUxMOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShwcml2LCAmeGVuXzlwZnNfZGV2cywgbGlz dCkgeworCQlpZiAoIXN0cmNtcChwcml2LT50YWcsIGFkZHIpKQorCQkJYnJlYWs7CisJfQorCWlm ICghcHJpdiB8fCBzdHJjbXAocHJpdi0+dGFnLCBhZGRyKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisK Kwlwcml2LT5jbGllbnQgPSBjbGllbnQ7IAogCXJldHVybiAwOwogfQogCiBzdGF0aWMgdm9pZCBw OV94ZW5fY2xvc2Uoc3RydWN0IHA5X2NsaWVudCAqY2xpZW50KQogeworCXN0cnVjdCB4ZW5fOXBm c19mcm9udF9wcml2ICpwcml2ID0gTlVMTDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkocHJpdiwg Jnhlbl85cGZzX2RldnMsIGxpc3QpIHsKKwkJaWYgKHByaXYtPmNsaWVudCA9PSBjbGllbnQpCisJ CQlicmVhazsKKwl9CisJaWYgKCFwcml2IHx8IHByaXYtPmNsaWVudCAhPSBjbGllbnQpCisJCXJl dHVybjsKKworCXByaXYtPmNsaWVudCA9IE5VTEw7IAorCXJldHVybjsKK30KKworc3RhdGljIGlu dCBwOV94ZW5fd3JpdGVfdG9kbyhzdHJ1Y3QgeGVuXzlwZnNfZGF0YXJpbmcgKnJpbmcsIFJJTkdf SURYIHNpemUpCit7CisJUklOR19JRFggY29ucywgcHJvZDsKKworCWNvbnMgPSByaW5nLT5pbnRm LT5vdXRfY29uczsKKwlwcm9kID0gcmluZy0+aW50Zi0+b3V0X3Byb2Q7CisJbWIoKTsKKworCWlm IChYRU5fOVBGU19SSU5HX1NJWkUgLSB4ZW5fOXBmc19xdWV1ZWQocHJvZCwgY29ucywgWEVOXzlQ RlNfUklOR19TSVpFKSA+PSBzaXplKQorCQlyZXR1cm4gMTsKKwllbHNlCisJCXJldHVybiAwOwog fQogCiBzdGF0aWMgaW50IHA5X3hlbl9yZXF1ZXN0KHN0cnVjdCBwOV9jbGllbnQgKmNsaWVudCwg c3RydWN0IHA5X3JlcV90ICpwOV9yZXEpCiB7CisJc3RydWN0IHhlbl85cGZzX2Zyb250X3ByaXYg KnByaXYgPSBOVUxMOworCVJJTkdfSURYIGNvbnMsIHByb2QsIG1hc2tlZF9jb25zLCBtYXNrZWRf cHJvZDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVpbnQzMl90IHNpemUgPSBwOV9yZXEtPnRj LT5zaXplOworCXN0cnVjdCB4ZW5fOXBmc19kYXRhcmluZyAqcmluZzsKKwlpbnQgbnVtOworCisJ bGlzdF9mb3JfZWFjaF9lbnRyeShwcml2LCAmeGVuXzlwZnNfZGV2cywgbGlzdCkgeworCQlpZiAo cHJpdi0+Y2xpZW50ID09IGNsaWVudCkKKwkJCWJyZWFrOworCX0KKwlpZiAocHJpdiA9PSBOVUxM IHx8IHByaXYtPmNsaWVudCAhPSBjbGllbnQpCisJCXJldHVybiAtRUlOVkFMOworCisJbnVtID0g cDlfcmVxLT50Yy0+dGFnICUgcHJpdi0+bnVtX3JpbmdzOworCXJpbmcgPSAmcHJpdi0+cmluZ3Nb bnVtXTsKKworYWdhaW46CisJd2hpbGUgKHdhaXRfZXZlbnRfaW50ZXJydXB0aWJsZShyaW5nLT53 cSwKKwkJCQlwOV94ZW5fd3JpdGVfdG9kbyhyaW5nLCBzaXplKSA+IDApICE9IDApOworCisJc3Bp bl9sb2NrX2lycXNhdmUoJnJpbmctPmxvY2ssIGZsYWdzKTsKKwljb25zID0gcmluZy0+aW50Zi0+ b3V0X2NvbnM7CisJcHJvZCA9IHJpbmctPmludGYtPm91dF9wcm9kOworCW1iKCk7CisKKwlpZiAo WEVOXzlQRlNfUklOR19TSVpFIC0geGVuXzlwZnNfcXVldWVkKHByb2QsIGNvbnMsIFhFTl85UEZT X1JJTkdfU0laRSkgPCBzaXplKSB7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJpbmctPmxv Y2ssIGZsYWdzKTsKKwkJZ290byBhZ2FpbjsKKwl9CisKKwltYXNrZWRfcHJvZCA9IHhlbl85cGZz X21hc2socHJvZCwgWEVOXzlQRlNfUklOR19TSVpFKTsKKwltYXNrZWRfY29ucyA9IHhlbl85cGZz X21hc2soY29ucywgWEVOXzlQRlNfUklOR19TSVpFKTsKKworCXhlbl85cGZzX3dyaXRlX3BhY2tl dChyaW5nLT5yaW5nLm91dCwKKwkJCQkmbWFza2VkX3Byb2QsIG1hc2tlZF9jb25zLAorCQkJCVhF Tl85UEZTX1JJTkdfU0laRSwgcDlfcmVxLT50Yy0+c2RhdGEsIHNpemUpOworCisJcDlfcmVxLT5z dGF0dXMgPSBSRVFfU1RBVFVTX1NFTlQ7CisJd21iKCk7CQkJLyogd3JpdGUgcmluZyBiZWZvcmUg dXBkYXRpbmcgcG9pbnRlciAqLworCXByb2QgKz0gc2l6ZTsKKwlyaW5nLT5pbnRmLT5vdXRfcHJv ZCA9IHByb2Q7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmluZy0+bG9jaywgZmxhZ3MpOwor CW5vdGlmeV9yZW1vdGVfdmlhX2lycShyaW5nLT5pcnEpOworCiAJcmV0dXJuIDA7CiB9CiAKLS0g CjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==