From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v7 5/7] xen/9pfs: send requests to the backend Date: Wed, 5 Apr 2017 12:03:59 -0700 Message-ID: <1491419041-8579-5-git-send-email-sstabellini@kernel.org> References: <1491419041-8579-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 1cvqE3-0004Ad-R3 for xen-devel@lists.xenproject.org; Wed, 05 Apr 2017 19:04:15 +0000 In-Reply-To: <1491419041-8579-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 LmNvbT4KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KQ0M6IGdy b3VnQGthb2Qub3JnCkNDOiBqZ3Jvc3NAc3VzZS5jb20KQ0M6IEVyaWMgVmFuIEhlbnNiZXJnZW4g PGVyaWN2aEBnbWFpbC5jb20+CkNDOiBSb24gTWlubmljaCA8cm1pbm5pY2hAc2FuZGlhLmdvdj4K Q0M6IExhdGNoZXNhciBJb25rb3YgPGx1Y2hvQGlvbmtvdi5uZXQ+CkNDOiB2OWZzLWRldmVsb3Bl ckBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKLS0tCiBuZXQvOXAvdHJhbnNfeGVuLmMgfCA4NyArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIDEgZmls ZSBjaGFuZ2VkLCA4NSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L25ldC85cC90cmFuc194ZW4uYyBiL25ldC85cC90cmFuc194ZW4uYwppbmRleCBmZTNkMTcyLi4y OGYzMGY0IDEwMDY0NAotLS0gYS9uZXQvOXAvdHJhbnNfeGVuLmMKKysrIGIvbmV0LzlwL3RyYW5z X3hlbi5jCkBAIC04NSwyMiArODUsMTA1IEBAIHN0cnVjdCB4ZW5fOXBmc19mcm9udF9wcml2IHsK IHN0YXRpYyBMSVNUX0hFQUQoeGVuXzlwZnNfZGV2cyk7CiBzdGF0aWMgREVGSU5FX1JXTE9DSyh4 ZW5fOXBmc19sb2NrKTsKIAorLyogV2UgZG9uJ3QgY3VycmVudGx5IGFsbG93IGNhbmNlbGluZyBv ZiByZXF1ZXN0cyAqLwogc3RhdGljIGludCBwOV94ZW5fY2FuY2VsKHN0cnVjdCBwOV9jbGllbnQg KmNsaWVudCwgc3RydWN0IHA5X3JlcV90ICpyZXEpCiB7Ci0JcmV0dXJuIDA7CisJcmV0dXJuIDE7 CiB9CiAKIHN0YXRpYyBpbnQgcDlfeGVuX2NyZWF0ZShzdHJ1Y3QgcDlfY2xpZW50ICpjbGllbnQs IGNvbnN0IGNoYXIgKmFkZHIsIGNoYXIgKmFyZ3MpCiB7Ci0JcmV0dXJuIDA7CisJc3RydWN0IHhl bl85cGZzX2Zyb250X3ByaXYgKnByaXY7CisKKwlyZWFkX2xvY2soJnhlbl85cGZzX2xvY2spOwor CWxpc3RfZm9yX2VhY2hfZW50cnkocHJpdiwgJnhlbl85cGZzX2RldnMsIGxpc3QpIHsKKwkJaWYg KCFzdHJjbXAocHJpdi0+dGFnLCBhZGRyKSkgeworCQkJcHJpdi0+Y2xpZW50ID0gY2xpZW50Owor CQkJcmVhZF91bmxvY2soJnhlbl85cGZzX2xvY2spOworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisJ cmVhZF91bmxvY2soJnhlbl85cGZzX2xvY2spOworCXJldHVybiAtRUlOVkFMOwogfQogCiBzdGF0 aWMgdm9pZCBwOV94ZW5fY2xvc2Uoc3RydWN0IHA5X2NsaWVudCAqY2xpZW50KQogeworCXN0cnVj dCB4ZW5fOXBmc19mcm9udF9wcml2ICpwcml2OworCisJcmVhZF9sb2NrKCZ4ZW5fOXBmc19sb2Nr KTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHByaXYsICZ4ZW5fOXBmc19kZXZzLCBsaXN0KSB7CisJ CWlmIChwcml2LT5jbGllbnQgPT0gY2xpZW50KSB7CisJCQlwcml2LT5jbGllbnQgPSBOVUxMOwor CQkJcmVhZF91bmxvY2soJnhlbl85cGZzX2xvY2spOworCQkJcmV0dXJuOworCQl9CisJfQorCXJl YWRfdW5sb2NrKCZ4ZW5fOXBmc19sb2NrKTsKK30KKworc3RhdGljIGJvb2wgcDlfeGVuX3dyaXRl X3RvZG8oc3RydWN0IHhlbl85cGZzX2RhdGFyaW5nICpyaW5nLCBSSU5HX0lEWCBzaXplKQorewor CVJJTkdfSURYIGNvbnMsIHByb2Q7CisKKwljb25zID0gcmluZy0+aW50Zi0+b3V0X2NvbnM7CisJ cHJvZCA9IHJpbmctPmludGYtPm91dF9wcm9kOworCXZpcnRfbWIoKTsKKworCXJldHVybiBYRU5f OVBGU19SSU5HX1NJWkUgLQorCQl4ZW5fOXBmc19xdWV1ZWQocHJvZCwgY29ucywgWEVOXzlQRlNf UklOR19TSVpFKSA+PSBzaXplOwogfQogCiBzdGF0aWMgaW50IHA5X3hlbl9yZXF1ZXN0KHN0cnVj dCBwOV9jbGllbnQgKmNsaWVudCwgc3RydWN0IHA5X3JlcV90ICpwOV9yZXEpCiB7CisJc3RydWN0 IHhlbl85cGZzX2Zyb250X3ByaXYgKnByaXYgPSBOVUxMOworCVJJTkdfSURYIGNvbnMsIHByb2Qs IG1hc2tlZF9jb25zLCBtYXNrZWRfcHJvZDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXUzMiBz aXplID0gcDlfcmVxLT50Yy0+c2l6ZTsKKwlzdHJ1Y3QgeGVuXzlwZnNfZGF0YXJpbmcgKnJpbmc7 CisJaW50IG51bTsKKworCXJlYWRfbG9jaygmeGVuXzlwZnNfbG9jayk7CisJbGlzdF9mb3JfZWFj aF9lbnRyeShwcml2LCAmeGVuXzlwZnNfZGV2cywgbGlzdCkgeworCQlpZiAocHJpdi0+Y2xpZW50 ID09IGNsaWVudCkKKwkJCWJyZWFrOworCX0KKwlyZWFkX3VubG9jaygmeGVuXzlwZnNfbG9jayk7 CisJaWYgKCFwcml2IHx8IHByaXYtPmNsaWVudCAhPSBjbGllbnQpCisJCXJldHVybiAtRUlOVkFM OworCisJbnVtID0gcDlfcmVxLT50Yy0+dGFnICUgcHJpdi0+bnVtX3JpbmdzOworCXJpbmcgPSAm cHJpdi0+cmluZ3NbbnVtXTsKKworYWdhaW46CisJd2hpbGUgKHdhaXRfZXZlbnRfaW50ZXJydXB0 aWJsZShyaW5nLT53cSwKKwkJCQkJcDlfeGVuX3dyaXRlX3RvZG8ocmluZywgc2l6ZSkpICE9IDAp CisJCTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZyaW5nLT5sb2NrLCBmbGFncyk7CisJY29ucyA9 IHJpbmctPmludGYtPm91dF9jb25zOworCXByb2QgPSByaW5nLT5pbnRmLT5vdXRfcHJvZDsKKwl2 aXJ0X21iKCk7CisKKwlpZiAoWEVOXzlQRlNfUklOR19TSVpFIC0geGVuXzlwZnNfcXVldWVkKHBy b2QsIGNvbnMsCisJCQkJCQkgWEVOXzlQRlNfUklOR19TSVpFKSA8IHNpemUpIHsKKwkJc3Bpbl91 bmxvY2tfaXJxcmVzdG9yZSgmcmluZy0+bG9jaywgZmxhZ3MpOworCQlnb3RvIGFnYWluOworCX0K KworCW1hc2tlZF9wcm9kID0geGVuXzlwZnNfbWFzayhwcm9kLCBYRU5fOVBGU19SSU5HX1NJWkUp OworCW1hc2tlZF9jb25zID0geGVuXzlwZnNfbWFzayhjb25zLCBYRU5fOVBGU19SSU5HX1NJWkUp OworCisJeGVuXzlwZnNfd3JpdGVfcGFja2V0KHJpbmctPmRhdGEub3V0LCBwOV9yZXEtPnRjLT5z ZGF0YSwgc2l6ZSwKKwkJCSAgICAgICZtYXNrZWRfcHJvZCwgbWFza2VkX2NvbnMsIFhFTl85UEZT X1JJTkdfU0laRSk7CisKKwlwOV9yZXEtPnN0YXR1cyA9IFJFUV9TVEFUVVNfU0VOVDsKKwl2aXJ0 X3dtYigpOwkJCS8qIHdyaXRlIHJpbmcgYmVmb3JlIHVwZGF0aW5nIHBvaW50ZXIgKi8KKwlwcm9k ICs9IHNpemU7CisJcmluZy0+aW50Zi0+b3V0X3Byb2QgPSBwcm9kOworCXNwaW5fdW5sb2NrX2ly cXJlc3RvcmUoJnJpbmctPmxvY2ssIGZsYWdzKTsKKwlub3RpZnlfcmVtb3RlX3ZpYV9pcnEocmlu Zy0+aXJxKTsKKwogCXJldHVybiAwOwogfQogCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=