From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v3 5/7] xen/9pfs: send requests to the backend Date: Mon, 13 Mar 2017 16:50:17 -0700 Message-ID: <1489449019-13343-5-git-send-email-sstabellini@kernel.org> References: <1489449019-13343-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 1cnZjW-0006r5-Jb for xen-devel@lists.xenproject.org; Mon, 13 Mar 2017 23:50:34 +0000 In-Reply-To: <1489449019-13343-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 Y29tPgpSZXZpZXdlZC1ieTogQm9yaXMgT3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xl LmNvbT4KQ0M6IGpncm9zc0BzdXNlLmNvbQpDQzogRXJpYyBWYW4gSGVuc2JlcmdlbiA8ZXJpY3Zo QGdtYWlsLmNvbT4KQ0M6IFJvbiBNaW5uaWNoIDxybWlubmljaEBzYW5kaWEuZ292PgpDQzogTGF0 Y2hlc2FyIElvbmtvdiA8bHVjaG9AaW9ua292Lm5ldD4KQ0M6IHY5ZnMtZGV2ZWxvcGVyQGxpc3Rz LnNvdXJjZWZvcmdlLm5ldAotLS0KIG5ldC85cC90cmFuc194ZW4uYyB8IDgxICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogMSBmaWxlIGNoYW5n ZWQsIDc5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0Lzlw L3RyYW5zX3hlbi5jIGIvbmV0LzlwL3RyYW5zX3hlbi5jCmluZGV4IDk3NGJhYzMuLmI0MGJiY2Ig MTAwNjQ0Ci0tLSBhL25ldC85cC90cmFuc194ZW4uYworKysgYi9uZXQvOXAvdHJhbnNfeGVuLmMK QEAgLTcwLDIyICs3MCw5OSBAQCBzdHJ1Y3QgeGVuXzlwZnNfZnJvbnRfcHJpdiB7CiB9Owogc3Rh dGljIExJU1RfSEVBRCh4ZW5fOXBmc19kZXZzKTsKIAorLyogV2UgZG9uJ3QgY3VycmVudGx5IGFs bG93IGNhbmNlbGluZyBvZiByZXF1ZXN0cyAqLwogc3RhdGljIGludCBwOV94ZW5fY2FuY2VsKHN0 cnVjdCBwOV9jbGllbnQgKmNsaWVudCwgc3RydWN0IHA5X3JlcV90ICpyZXEpCiB7Ci0JcmV0dXJu IDA7CisJcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyBpbnQgcDlfeGVuX2NyZWF0ZShzdHJ1Y3QgcDlf Y2xpZW50ICpjbGllbnQsIGNvbnN0IGNoYXIgKmFkZHIsIGNoYXIgKmFyZ3MpCiB7Ci0JcmV0dXJu IDA7CisJc3RydWN0IHhlbl85cGZzX2Zyb250X3ByaXYgKnByaXY7CisKKwlsaXN0X2Zvcl9lYWNo X2VudHJ5KHByaXYsICZ4ZW5fOXBmc19kZXZzLCBsaXN0KSB7CisJCWlmICghc3RyY21wKHByaXYt PnRhZywgYWRkcikpIHsKKwkJCXByaXYtPmNsaWVudCA9IGNsaWVudDsgCisJCQlyZXR1cm4gMDsK KwkJfQorCX0KKwlyZXR1cm4gLUVJTlZBTDsKIH0KIAogc3RhdGljIHZvaWQgcDlfeGVuX2Nsb3Nl KHN0cnVjdCBwOV9jbGllbnQgKmNsaWVudCkKIHsKKwlzdHJ1Y3QgeGVuXzlwZnNfZnJvbnRfcHJp diAqcHJpdjsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkocHJpdiwgJnhlbl85cGZzX2RldnMsIGxp c3QpIHsKKwkJaWYgKHByaXYtPmNsaWVudCA9PSBjbGllbnQpIHsKKwkJCXByaXYtPmNsaWVudCA9 IE5VTEw7IAorCQkJcmV0dXJuOworCQl9CisJfQorCXJldHVybjsKK30KKworc3RhdGljIGludCBw OV94ZW5fd3JpdGVfdG9kbyhzdHJ1Y3QgeGVuXzlwZnNfZGF0YXJpbmcgKnJpbmcsIFJJTkdfSURY IHNpemUpCit7CisJUklOR19JRFggY29ucywgcHJvZDsKKworCWNvbnMgPSByaW5nLT5pbnRmLT5v dXRfY29uczsKKwlwcm9kID0gcmluZy0+aW50Zi0+b3V0X3Byb2Q7CisJdmlydF9tYigpOworCisJ aWYgKFhFTl85UEZTX1JJTkdfU0laRSAtIHhlbl85cGZzX3F1ZXVlZChwcm9kLCBjb25zLCBYRU5f OVBGU19SSU5HX1NJWkUpID49IHNpemUpCisJCXJldHVybiAxOworCWVsc2UKKwkJcmV0dXJuIDA7 CiB9CiAKIHN0YXRpYyBpbnQgcDlfeGVuX3JlcXVlc3Qoc3RydWN0IHA5X2NsaWVudCAqY2xpZW50 LCBzdHJ1Y3QgcDlfcmVxX3QgKnA5X3JlcSkKIHsKKwlzdHJ1Y3QgeGVuXzlwZnNfZnJvbnRfcHJp diAqcHJpdiA9IE5VTEw7CisJUklOR19JRFggY29ucywgcHJvZCwgbWFza2VkX2NvbnMsIG1hc2tl ZF9wcm9kOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdWludDMyX3Qgc2l6ZSA9IHA5X3JlcS0+ dGMtPnNpemU7CisJc3RydWN0IHhlbl85cGZzX2RhdGFyaW5nICpyaW5nOworCWludCBudW07CisK KwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHByaXYsICZ4ZW5fOXBmc19kZXZzLCBsaXN0KSB7CisJCWlm IChwcml2LT5jbGllbnQgPT0gY2xpZW50KQorCQkJYnJlYWs7CisJfQorCWlmIChwcml2ID09IE5V TEwgfHwgcHJpdi0+Y2xpZW50ICE9IGNsaWVudCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwludW0g PSBwOV9yZXEtPnRjLT50YWcgJSBwcml2LT5udW1fcmluZ3M7CisJcmluZyA9ICZwcml2LT5yaW5n c1tudW1dOworCithZ2FpbjoKKwl3aGlsZSAod2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlKHJpbmct PndxLAorCQkJCXA5X3hlbl93cml0ZV90b2RvKHJpbmcsIHNpemUpID4gMCkgIT0gMCk7CisKKwlz cGluX2xvY2tfaXJxc2F2ZSgmcmluZy0+bG9jaywgZmxhZ3MpOworCWNvbnMgPSByaW5nLT5pbnRm LT5vdXRfY29uczsKKwlwcm9kID0gcmluZy0+aW50Zi0+b3V0X3Byb2Q7CisJdmlydF9tYigpOwor CisJaWYgKFhFTl85UEZTX1JJTkdfU0laRSAtIHhlbl85cGZzX3F1ZXVlZChwcm9kLCBjb25zLCBY RU5fOVBGU19SSU5HX1NJWkUpIDwgc2l6ZSkgeworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZy aW5nLT5sb2NrLCBmbGFncyk7CisJCWdvdG8gYWdhaW47CisJfQorCisJbWFza2VkX3Byb2QgPSB4 ZW5fOXBmc19tYXNrKHByb2QsIFhFTl85UEZTX1JJTkdfU0laRSk7CisJbWFza2VkX2NvbnMgPSB4 ZW5fOXBmc19tYXNrKGNvbnMsIFhFTl85UEZTX1JJTkdfU0laRSk7CisKKwl4ZW5fOXBmc193cml0 ZV9wYWNrZXQocmluZy0+ZGF0YS5vdXQsCisJCQkJJm1hc2tlZF9wcm9kLCBtYXNrZWRfY29ucywK KwkJCQlYRU5fOVBGU19SSU5HX1NJWkUsIHA5X3JlcS0+dGMtPnNkYXRhLCBzaXplKTsKKworCXA5 X3JlcS0+c3RhdHVzID0gUkVRX1NUQVRVU19TRU5UOworCXZpcnRfd21iKCk7CQkJLyogd3JpdGUg cmluZyBiZWZvcmUgdXBkYXRpbmcgcG9pbnRlciAqLworCXByb2QgKz0gc2l6ZTsKKwlyaW5nLT5p bnRmLT5vdXRfcHJvZCA9IHByb2Q7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmluZy0+bG9j aywgZmxhZ3MpOworCW5vdGlmeV9yZW1vdGVfdmlhX2lycShyaW5nLT5pcnEpOworCiAJcmV0dXJu IDA7CiB9CiAKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9y ZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==