From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v6 5/7] xen/9pfs: send requests to the backend Date: Wed, 22 Mar 2017 12:03:47 -0700 Message-ID: <1490209429-5542-5-git-send-email-sstabellini@kernel.org> References: <1490209429-5542-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cqlYE-0007Gv-EY for xen-devel@lists.xenproject.org; Wed, 22 Mar 2017 19:04:06 +0000 In-Reply-To: <1490209429-5542-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, groug@kaod.org, Stefano Stabellini , v9fs-developer@lists.sourceforge.net, Ron Minnich List-Id: xen-devel@lists.xenproject.org SW1wbGVtZW50IHN0cnVjdCBwOV90cmFuc19tb2R1bGUgY3JlYXRlIGFuZCBjbG9zZSBmdW5jdGlv bnMgYnkgbG9va2luZwphdCB0aGUgYXZhaWxhYmxlIFhlbiA5cGZzIGZyb250ZW5kLWJhY2tlbmQg Y29ubmVjdGlvbnMuIFdlIGRvbid0IGV4cGVjdAptYW55IGZyb250ZW5kLWJhY2tlbmQgY29ubmVj dGlvbnMsIHRodXMgd2Fsa2luZyBhIGxpc3QgaXMgT0suCgpTZW5kIHJlcXVlc3RzIHRvIHRoZSBi YWNrZW5kIGJ5IGNvcHlpbmcgZWFjaCByZXF1ZXN0IHRvIG9uZSBvZiB0aGUKYXZhaWxhYmxlIHJp bmdzIChlYWNoIGZyb250ZW5kLWJhY2tlbmQgY29ubmVjdGlvbiBjb21lcyB3aXRoIG11bHRpcGxl CnJpbmdzKS4gSGFuZGxlIHRoZSByaW5nIGFuZCBub3RpZmljYXRpb25zIGZvbGxvd2luZyB0aGUg OXBmcwpzcGVjaWZpY2F0aW9uLiBJZiB0aGVyZSBhcmUgbm90IGVub3VnaCBmcmVlIGJ5dGVzIG9u IHRoZSByaW5nIGZvciB0aGUKcmVxdWVzdCwgd2FpdCBvbiB0aGUgd2FpdF9xdWV1ZTogdGhlIGJh Y2tlbmQgd2lsbCBzZW5kIGEgbm90aWZpY2F0aW9uCmFmdGVyIGNvbnN1bWluZyBtb3JlIHJlcXVl c3RzLgoKU2lnbmVkLW9mZi1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vQGFwb3JldG8u Y29tPgpSZXZpZXdlZC1ieTogQm9yaXMgT3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xl LmNvbT4KQ0M6IGdyb3VnQGthb2Qub3JnCkNDOiBqZ3Jvc3NAc3VzZS5jb20KQ0M6IEVyaWMgVmFu IEhlbnNiZXJnZW4gPGVyaWN2aEBnbWFpbC5jb20+CkNDOiBSb24gTWlubmljaCA8cm1pbm5pY2hA c2FuZGlhLmdvdj4KQ0M6IExhdGNoZXNhciBJb25rb3YgPGx1Y2hvQGlvbmtvdi5uZXQ+CkNDOiB2 OWZzLWRldmVsb3BlckBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKLS0tCiBuZXQvOXAvdHJhbnNfeGVu LmMgfCA4OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA4NiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL25ldC85cC90cmFuc194ZW4uYyBiL25ldC85cC90cmFuc194ZW4uYwppbmRl eCA0ODFkYWU0Li5jMGNiNzE5IDEwMDY0NAotLS0gYS9uZXQvOXAvdHJhbnNfeGVuLmMKKysrIGIv bmV0LzlwL3RyYW5zX3hlbi5jCkBAIC03NywyMiArNzcsMTA2IEBAIHN0cnVjdCB4ZW5fOXBmc19m cm9udF9wcml2IHsKIHN0YXRpYyBMSVNUX0hFQUQoeGVuXzlwZnNfZGV2cyk7CiBzdGF0aWMgREVG SU5FX1JXTE9DSyh4ZW5fOXBmc19sb2NrKTsKIAorLyogV2UgZG9uJ3QgY3VycmVudGx5IGFsbG93 IGNhbmNlbGluZyBvZiByZXF1ZXN0cyAqLwogc3RhdGljIGludCBwOV94ZW5fY2FuY2VsKHN0cnVj dCBwOV9jbGllbnQgKmNsaWVudCwgc3RydWN0IHA5X3JlcV90ICpyZXEpCiB7Ci0JcmV0dXJuIDA7 CisJcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyBpbnQgcDlfeGVuX2NyZWF0ZShzdHJ1Y3QgcDlfY2xp ZW50ICpjbGllbnQsIGNvbnN0IGNoYXIgKmFkZHIsIGNoYXIgKmFyZ3MpCiB7Ci0JcmV0dXJuIDA7 CisJc3RydWN0IHhlbl85cGZzX2Zyb250X3ByaXYgKnByaXY7CisKKwlyZWFkX2xvY2soJnhlbl85 cGZzX2xvY2spOworCWxpc3RfZm9yX2VhY2hfZW50cnkocHJpdiwgJnhlbl85cGZzX2RldnMsIGxp c3QpIHsKKwkJaWYgKCFzdHJjbXAocHJpdi0+dGFnLCBhZGRyKSkgeworCQkJcHJpdi0+Y2xpZW50 ID0gY2xpZW50OworCQkJcmVhZF91bmxvY2soJnhlbl85cGZzX2xvY2spOworCQkJcmV0dXJuIDA7 CisJCX0KKwl9CisJcmVhZF91bmxvY2soJnhlbl85cGZzX2xvY2spOworCXJldHVybiAtRUlOVkFM OwogfQogCiBzdGF0aWMgdm9pZCBwOV94ZW5fY2xvc2Uoc3RydWN0IHA5X2NsaWVudCAqY2xpZW50 KQogeworCXN0cnVjdCB4ZW5fOXBmc19mcm9udF9wcml2ICpwcml2OworCisJcmVhZF9sb2NrKCZ4 ZW5fOXBmc19sb2NrKTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHByaXYsICZ4ZW5fOXBmc19kZXZz LCBsaXN0KSB7CisJCWlmIChwcml2LT5jbGllbnQgPT0gY2xpZW50KSB7CisJCQlwcml2LT5jbGll bnQgPSBOVUxMOworCQkJcmVhZF91bmxvY2soJnhlbl85cGZzX2xvY2spOworCQkJcmV0dXJuOwor CQl9CisJfQorCXJlYWRfdW5sb2NrKCZ4ZW5fOXBmc19sb2NrKTsKK30KKworc3RhdGljIGJvb2wg cDlfeGVuX3dyaXRlX3RvZG8oc3RydWN0IHhlbl85cGZzX2RhdGFyaW5nICpyaW5nLCBSSU5HX0lE WCBzaXplKQoreworCVJJTkdfSURYIGNvbnMsIHByb2Q7CisKKwljb25zID0gcmluZy0+aW50Zi0+ b3V0X2NvbnM7CisJcHJvZCA9IHJpbmctPmludGYtPm91dF9wcm9kOworCXZpcnRfbWIoKTsKKwor CXJldHVybiBYRU5fOVBGU19SSU5HX1NJWkUgLQorCQl4ZW5fOXBmc19xdWV1ZWQocHJvZCwgY29u cywgWEVOXzlQRlNfUklOR19TSVpFKSA+PSBzaXplOwogfQogCiBzdGF0aWMgaW50IHA5X3hlbl9y ZXF1ZXN0KHN0cnVjdCBwOV9jbGllbnQgKmNsaWVudCwgc3RydWN0IHA5X3JlcV90ICpwOV9yZXEp CiB7CisJc3RydWN0IHhlbl85cGZzX2Zyb250X3ByaXYgKnByaXYgPSBOVUxMOworCVJJTkdfSURY IGNvbnMsIHByb2QsIG1hc2tlZF9jb25zLCBtYXNrZWRfcHJvZDsKKwl1bnNpZ25lZCBsb25nIGZs YWdzOworCXUzMiBzaXplID0gcDlfcmVxLT50Yy0+c2l6ZTsKKwlzdHJ1Y3QgeGVuXzlwZnNfZGF0 YXJpbmcgKnJpbmc7CisJaW50IG51bTsKKworCXJlYWRfbG9jaygmeGVuXzlwZnNfbG9jayk7CisJ bGlzdF9mb3JfZWFjaF9lbnRyeShwcml2LCAmeGVuXzlwZnNfZGV2cywgbGlzdCkgeworCQlpZiAo cHJpdi0+Y2xpZW50ID09IGNsaWVudCkKKwkJCWJyZWFrOworCX0KKwlyZWFkX3VubG9jaygmeGVu XzlwZnNfbG9jayk7CisJaWYgKCFwcml2IHx8IHByaXYtPmNsaWVudCAhPSBjbGllbnQpCisJCXJl dHVybiAtRUlOVkFMOworCisJbnVtID0gcDlfcmVxLT50Yy0+dGFnICUgcHJpdi0+bnVtX3Jpbmdz OworCXJpbmcgPSAmcHJpdi0+cmluZ3NbbnVtXTsKKworYWdhaW46CisJd2hpbGUgKHdhaXRfZXZl bnRfaW50ZXJydXB0aWJsZShyaW5nLT53cSwKKwkJCQkJcDlfeGVuX3dyaXRlX3RvZG8ocmluZywg c2l6ZSkpICE9IDApCisJCTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZyaW5nLT5sb2NrLCBmbGFn cyk7CisJY29ucyA9IHJpbmctPmludGYtPm91dF9jb25zOworCXByb2QgPSByaW5nLT5pbnRmLT5v dXRfcHJvZDsKKwl2aXJ0X21iKCk7CisKKwlpZiAoWEVOXzlQRlNfUklOR19TSVpFIC0geGVuXzlw ZnNfcXVldWVkKHByb2QsIGNvbnMsCisJCQkJCQkgWEVOXzlQRlNfUklOR19TSVpFKSA8IHNpemUp IHsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmluZy0+bG9jaywgZmxhZ3MpOworCQlnb3Rv IGFnYWluOworCX0KKworCW1hc2tlZF9wcm9kID0geGVuXzlwZnNfbWFzayhwcm9kLCBYRU5fOVBG U19SSU5HX1NJWkUpOworCW1hc2tlZF9jb25zID0geGVuXzlwZnNfbWFzayhjb25zLCBYRU5fOVBG U19SSU5HX1NJWkUpOworCisJeGVuXzlwZnNfd3JpdGVfcGFja2V0KHJpbmctPmRhdGEub3V0LAor CQkJICAgICAgJm1hc2tlZF9wcm9kLCBtYXNrZWRfY29ucywKKwkJCSAgICAgIFhFTl85UEZTX1JJ TkdfU0laRSwgcDlfcmVxLT50Yy0+c2RhdGEsIHNpemUpOworCisJcDlfcmVxLT5zdGF0dXMgPSBS RVFfU1RBVFVTX1NFTlQ7CisJdmlydF93bWIoKTsJCQkvKiB3cml0ZSByaW5nIGJlZm9yZSB1cGRh dGluZyBwb2ludGVyICovCisJcHJvZCArPSBzaXplOworCXJpbmctPmludGYtPm91dF9wcm9kID0g cHJvZDsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyaW5nLT5sb2NrLCBmbGFncyk7CisJbm90 aWZ5X3JlbW90ZV92aWFfaXJxKHJpbmctPmlycSk7CisKIAlyZXR1cm4gMDsKIH0KIAotLSAKMS45 LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK