From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v5 5/7] xen/9pfs: send requests to the backend Date: Mon, 20 Mar 2017 10:59:46 -0700 Message-ID: <1490032788-23471-5-git-send-email-sstabellini@kernel.org> References: <1490032788-23471-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 1cq1b8-0003de-Vf for xen-devel@lists.xenproject.org; Mon, 20 Mar 2017 18:00:03 +0000 In-Reply-To: <1490032788-23471-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 , 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 LmMgfCA5MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA4OSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL25ldC85cC90cmFuc194ZW4uYyBiL25ldC85cC90cmFuc194ZW4uYwppbmRl eCA1Mjc5YWUwLi5lNTFlZGFjIDEwMDY0NAotLS0gYS9uZXQvOXAvdHJhbnNfeGVuLmMKKysrIGIv bmV0LzlwL3RyYW5zX3hlbi5jCkBAIC03NywyMiArNzcsMTA5IEBAIHN0cnVjdCB4ZW5fOXBmc19m cm9udF9wcml2IHsKIHN0YXRpYyBMSVNUX0hFQUQoeGVuXzlwZnNfZGV2cyk7CiBzdGF0aWMgREVG SU5FX1JXTE9DSyh4ZW5fOXBmc19sb2NrKTsKIAorLyogV2UgZG9uJ3QgY3VycmVudGx5IGFsbG93 IGNhbmNlbGluZyBvZiByZXF1ZXN0cyAqLwogc3RhdGljIGludCBwOV94ZW5fY2FuY2VsKHN0cnVj dCBwOV9jbGllbnQgKmNsaWVudCwgc3RydWN0IHA5X3JlcV90ICpyZXEpCiB7Ci0JcmV0dXJuIDA7 CisJcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyBpbnQgcDlfeGVuX2NyZWF0ZShzdHJ1Y3QgcDlfY2xp ZW50ICpjbGllbnQsIGNvbnN0IGNoYXIgKmFkZHIsIGNoYXIgKmFyZ3MpCiB7Ci0JcmV0dXJuIDA7 CisJc3RydWN0IHhlbl85cGZzX2Zyb250X3ByaXYgKnByaXY7CisKKwlyZWFkX2xvY2soJnhlbl85 cGZzX2xvY2spOworCWxpc3RfZm9yX2VhY2hfZW50cnkocHJpdiwgJnhlbl85cGZzX2RldnMsIGxp c3QpIHsKKwkJaWYgKCFzdHJjbXAocHJpdi0+dGFnLCBhZGRyKSkgeworCQkJcHJpdi0+Y2xpZW50 ID0gY2xpZW50OworCQkJcmVhZF91bmxvY2soJnhlbl85cGZzX2xvY2spOworCQkJcmV0dXJuIDA7 CisJCX0KKwl9CisJcmVhZF91bmxvY2soJnhlbl85cGZzX2xvY2spOworCXJldHVybiAtRUlOVkFM OwogfQogCiBzdGF0aWMgdm9pZCBwOV94ZW5fY2xvc2Uoc3RydWN0IHA5X2NsaWVudCAqY2xpZW50 KQogeworCXN0cnVjdCB4ZW5fOXBmc19mcm9udF9wcml2ICpwcml2OworCisJcmVhZF9sb2NrKCZ4 ZW5fOXBmc19sb2NrKTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHByaXYsICZ4ZW5fOXBmc19kZXZz LCBsaXN0KSB7CisJCWlmIChwcml2LT5jbGllbnQgPT0gY2xpZW50KSB7CisJCQlwcml2LT5jbGll bnQgPSBOVUxMOworCQkJcmVhZF91bmxvY2soJnhlbl85cGZzX2xvY2spOworCQkJcmV0dXJuOwor CQl9CisJfQorCXJlYWRfdW5sb2NrKCZ4ZW5fOXBmc19sb2NrKTsKK30KKworc3RhdGljIGludCBw OV94ZW5fd3JpdGVfdG9kbyhzdHJ1Y3QgeGVuXzlwZnNfZGF0YXJpbmcgKnJpbmcsIFJJTkdfSURY IHNpemUpCit7CisJUklOR19JRFggY29ucywgcHJvZDsKKworCWNvbnMgPSByaW5nLT5pbnRmLT5v dXRfY29uczsKKwlwcm9kID0gcmluZy0+aW50Zi0+b3V0X3Byb2Q7CisJdmlydF9tYigpOworCisJ aWYgKFhFTl85UEZTX1JJTkdfU0laRSAtIHhlbl85cGZzX3F1ZXVlZChwcm9kLCBjb25zLAorCQkJ CQkJIFhFTl85UEZTX1JJTkdfU0laRSkgPj0gc2l6ZSkKKwkJcmV0dXJuIDE7CisJZWxzZQorCQly ZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBwOV94ZW5fcmVxdWVzdChzdHJ1Y3QgcDlfY2xpZW50 ICpjbGllbnQsIHN0cnVjdCBwOV9yZXFfdCAqcDlfcmVxKQogeworCXN0cnVjdCB4ZW5fOXBmc19m cm9udF9wcml2ICpwcml2ID0gTlVMTDsKKwlSSU5HX0lEWCBjb25zLCBwcm9kLCBtYXNrZWRfY29u cywgbWFza2VkX3Byb2Q7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1MzIgc2l6ZSA9IHA5X3Jl cS0+dGMtPnNpemU7CisJc3RydWN0IHhlbl85cGZzX2RhdGFyaW5nICpyaW5nOworCWludCBudW07 CisKKwlyZWFkX2xvY2soJnhlbl85cGZzX2xvY2spOworCWxpc3RfZm9yX2VhY2hfZW50cnkocHJp diwgJnhlbl85cGZzX2RldnMsIGxpc3QpIHsKKwkJaWYgKHByaXYtPmNsaWVudCA9PSBjbGllbnQp CisJCQlicmVhazsKKwl9CisJcmVhZF91bmxvY2soJnhlbl85cGZzX2xvY2spOworCWlmICghcHJp diB8fCBwcml2LT5jbGllbnQgIT0gY2xpZW50KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW51bSA9 IHA5X3JlcS0+dGMtPnRhZyAlIHByaXYtPm51bV9yaW5nczsKKwlyaW5nID0gJnByaXYtPnJpbmdz W251bV07CisKK2FnYWluOgorCXdoaWxlICh3YWl0X2V2ZW50X2ludGVycnVwdGlibGUocmluZy0+ d3EsCisJCQkJCXA5X3hlbl93cml0ZV90b2RvKHJpbmcsIHNpemUpID4gMCkgIT0gMCkKKwkJOwor CisJc3Bpbl9sb2NrX2lycXNhdmUoJnJpbmctPmxvY2ssIGZsYWdzKTsKKwljb25zID0gcmluZy0+ aW50Zi0+b3V0X2NvbnM7CisJcHJvZCA9IHJpbmctPmludGYtPm91dF9wcm9kOworCXZpcnRfbWIo KTsKKworCWlmIChYRU5fOVBGU19SSU5HX1NJWkUgLSB4ZW5fOXBmc19xdWV1ZWQocHJvZCwgY29u cywKKwkJCQkJCSBYRU5fOVBGU19SSU5HX1NJWkUpIDwgc2l6ZSkgeworCQlzcGluX3VubG9ja19p cnFyZXN0b3JlKCZyaW5nLT5sb2NrLCBmbGFncyk7CisJCWdvdG8gYWdhaW47CisJfQorCisJbWFz a2VkX3Byb2QgPSB4ZW5fOXBmc19tYXNrKHByb2QsIFhFTl85UEZTX1JJTkdfU0laRSk7CisJbWFz a2VkX2NvbnMgPSB4ZW5fOXBmc19tYXNrKGNvbnMsIFhFTl85UEZTX1JJTkdfU0laRSk7CisKKwl4 ZW5fOXBmc193cml0ZV9wYWNrZXQocmluZy0+ZGF0YS5vdXQsCisJCQkgICAgICAmbWFza2VkX3By b2QsIG1hc2tlZF9jb25zLAorCQkJICAgICAgWEVOXzlQRlNfUklOR19TSVpFLCBwOV9yZXEtPnRj LT5zZGF0YSwgc2l6ZSk7CisKKwlwOV9yZXEtPnN0YXR1cyA9IFJFUV9TVEFUVVNfU0VOVDsKKwl2 aXJ0X3dtYigpOwkJCS8qIHdyaXRlIHJpbmcgYmVmb3JlIHVwZGF0aW5nIHBvaW50ZXIgKi8KKwlw cm9kICs9IHNpemU7CisJcmluZy0+aW50Zi0+b3V0X3Byb2QgPSBwcm9kOworCXNwaW5fdW5sb2Nr X2lycXJlc3RvcmUoJnJpbmctPmxvY2ssIGZsYWdzKTsKKwlub3RpZnlfcmVtb3RlX3ZpYV9pcnEo cmluZy0+aXJxKTsKKwogCXJldHVybiAwOwogfQogCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK WGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=