From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v5 6/7] xen/9pfs: receive responses Date: Mon, 20 Mar 2017 10:59:47 -0700 Message-ID: <1490032788-23471-6-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cq1bA-0003od-Gw for xen-devel@lists.xenproject.org; Mon, 20 Mar 2017 18:00:04 +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 VXBvbiByZWNlaXZpbmcgYSBub3RpZmljYXRpb24gZnJvbSB0aGUgYmFja2VuZCwgc2NoZWR1bGUg dGhlCnA5X3hlbl9yZXNwb25zZSB3b3JrX3N0cnVjdC4gcDlfeGVuX3Jlc3BvbnNlIGNoZWNrcyBp ZiBhbnkgcmVzcG9uc2VzIGFyZQphdmFpbGFibGUsIGlmIHNvLCBpdCByZWFkcyB0aGVtIG9uZSBi eSBvbmUsIGNhbGxpbmcgcDlfY2xpZW50X2NiIHRvIHNlbmQKdGhlbSB1cCB0byB0aGUgOXAgbGF5 ZXIgKHA5X2NsaWVudF9jYiBjb21wbGV0ZXMgdGhlIHJlcXVlc3QpLiBIYW5kbGUgdGhlCnJpbmcg Zm9sbG93aW5nIHRoZSBYZW4gOXBmcyBzcGVjaWZpY2F0aW9uLgoKU2lnbmVkLW9mZi1ieTogU3Rl ZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vQGFwb3JldG8uY29tPgpSZXZpZXdlZC1ieTogQm9yaXMg T3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbT4KQ0M6IGdyb3VnQGthb2Qub3Jn CkNDOiBqZ3Jvc3NAc3VzZS5jb20KQ0M6IEVyaWMgVmFuIEhlbnNiZXJnZW4gPGVyaWN2aEBnbWFp bC5jb20+CkNDOiBSb24gTWlubmljaCA8cm1pbm5pY2hAc2FuZGlhLmdvdj4KQ0M6IExhdGNoZXNh ciBJb25rb3YgPGx1Y2hvQGlvbmtvdi5uZXQ+CkNDOiB2OWZzLWRldmVsb3BlckBsaXN0cy5zb3Vy Y2Vmb3JnZS5uZXQKLS0tCiBuZXQvOXAvdHJhbnNfeGVuLmMgfCA1NiArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1 NiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0LzlwL3RyYW5zX3hlbi5jIGIvbmV0Lzlw L3RyYW5zX3hlbi5jCmluZGV4IGU1MWVkYWMuLjRmZmUyNTAgMTAwNjQ0Ci0tLSBhL25ldC85cC90 cmFuc194ZW4uYworKysgYi9uZXQvOXAvdHJhbnNfeGVuLmMKQEAgLTE4NSw2ICsxODUsNjIgQEAg c3RhdGljIGludCBwOV94ZW5fcmVxdWVzdChzdHJ1Y3QgcDlfY2xpZW50ICpjbGllbnQsIHN0cnVj dCBwOV9yZXFfdCAqcDlfcmVxKQogCiBzdGF0aWMgdm9pZCBwOV94ZW5fcmVzcG9uc2Uoc3RydWN0 IHdvcmtfc3RydWN0ICp3b3JrKQogeworCXN0cnVjdCB4ZW5fOXBmc19mcm9udF9wcml2ICpwcml2 OworCXN0cnVjdCB4ZW5fOXBmc19kYXRhcmluZyAqcmluZzsKKwlSSU5HX0lEWCBjb25zLCBwcm9k LCBtYXNrZWRfY29ucywgbWFza2VkX3Byb2Q7CisJc3RydWN0IHhlbl85cGZzX2hlYWRlciBoOwor CXN0cnVjdCBwOV9yZXFfdCAqcmVxOworCWludCBzdGF0dXM7CisKKwlyaW5nID0gY29udGFpbmVy X29mKHdvcmssIHN0cnVjdCB4ZW5fOXBmc19kYXRhcmluZywgd29yayk7CisJcHJpdiA9IHJpbmct PnByaXY7CisKKwl3aGlsZSAoMSkgeworCQljb25zID0gcmluZy0+aW50Zi0+aW5fY29uczsKKwkJ cHJvZCA9IHJpbmctPmludGYtPmluX3Byb2Q7CisJCXZpcnRfcm1iKCk7CisKKwkJaWYgKHhlbl85 cGZzX3F1ZXVlZChwcm9kLCBjb25zLCBYRU5fOVBGU19SSU5HX1NJWkUpIDwKKwkJICAgIHNpemVv ZihoKSkgeworCQkJbm90aWZ5X3JlbW90ZV92aWFfaXJxKHJpbmctPmlycSk7CisJCQlyZXR1cm47 CisJCX0KKworCQltYXNrZWRfcHJvZCA9IHhlbl85cGZzX21hc2socHJvZCwgWEVOXzlQRlNfUklO R19TSVpFKTsKKwkJbWFza2VkX2NvbnMgPSB4ZW5fOXBmc19tYXNrKGNvbnMsIFhFTl85UEZTX1JJ TkdfU0laRSk7CisKKwkJLyogRmlyc3QsIHJlYWQganVzdCB0aGUgaGVhZGVyICovCisJCXhlbl85 cGZzX3JlYWRfcGFja2V0KHJpbmctPmRhdGEuaW4sCisJCQkJICAgICBtYXNrZWRfcHJvZCwgJm1h c2tlZF9jb25zLAorCQkJCSAgICAgWEVOXzlQRlNfUklOR19TSVpFLCAmaCwgc2l6ZW9mKGgpKTsK KworCQlyZXEgPSBwOV90YWdfbG9va3VwKHByaXYtPmNsaWVudCwgaC50YWcpOworCQlpZiAoIXJl cSB8fCByZXEtPnN0YXR1cyAhPSBSRVFfU1RBVFVTX1NFTlQpIHsKKwkJCWRldl93YXJuKCZwcml2 LT5kZXYtPmRldiwgIldyb25nIHJlcSB0YWc9JXhcbiIsIGgudGFnKTsKKwkJCWNvbnMgKz0gaC5z aXplOworCQkJdmlydF9tYigpOworCQkJcmluZy0+aW50Zi0+aW5fY29ucyA9IGNvbnM7CisJCQlj b250aW51ZTsKKwkJfQorCisJCW1lbWNweShyZXEtPnJjLCAmaCwgc2l6ZW9mKGgpKTsKKwkJcmVx LT5yYy0+b2Zmc2V0ID0gMDsKKworCQltYXNrZWRfY29ucyA9IHhlbl85cGZzX21hc2soY29ucywg WEVOXzlQRlNfUklOR19TSVpFKTsKKwkJLyogVGhlbiwgcmVhZCB0aGUgd2hvbGUgcGFja2V0IChp bmNsdWRpbmcgdGhlIGhlYWRlcikgKi8KKwkJeGVuXzlwZnNfcmVhZF9wYWNrZXQocmluZy0+ZGF0 YS5pbiwKKwkJCQkgICAgIG1hc2tlZF9wcm9kLCAmbWFza2VkX2NvbnMsCisJCQkJICAgICBYRU5f OVBGU19SSU5HX1NJWkUsIHJlcS0+cmMtPnNkYXRhLCBoLnNpemUpOworCisJCXZpcnRfbWIoKTsK KwkJY29ucyArPSBoLnNpemU7CisJCXJpbmctPmludGYtPmluX2NvbnMgPSBjb25zOworCisJCXN0 YXR1cyA9IChyZXEtPnN0YXR1cyAhPSBSRVFfU1RBVFVTX0VSUk9SKSA/CisJCQlSRVFfU1RBVFVT X1JDVkQgOiBSRVFfU1RBVFVTX0VSUk9SOworCisJCXA5X2NsaWVudF9jYihwcml2LT5jbGllbnQs IHJlcSwgc3RhdHVzKTsKKwl9CiB9CiAKIHN0YXRpYyBpcnFyZXR1cm5fdCB4ZW5fOXBmc19mcm9u dF9ldmVudF9oYW5kbGVyKGludCBpcnEsIHZvaWQgKnIpCi0tIAoxLjkuMQoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl bAo=