From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH 5/8] xen/9pfs: receive requests from the frontend Date: Mon, 6 Mar 2017 18:12:45 -0800 Message-ID: <1488852768-8935-5-git-send-email-sstabellini@kernel.org> References: <1488852768-8935-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 1cl4ce-000226-27 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2017 02:13:08 +0000 In-Reply-To: <1488852768-8935-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: qemu-devel@nongnu.org Cc: jgross@suse.com, sstabellini@kernel.org, Greg Kurz , Stefano Stabellini , "Aneesh Kumar K.V" , anthony.perard@citrix.com, xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org VXBvbiByZWNlaXZpbmcgYW4gZXZlbnQgY2hhbm5lbCBub3RpZmljYXRpb24gZnJvbSB0aGUgZnJv bnRlbmQsIHNjaGVkdWxlCnRoZSBib3R0b20gaGFsZi4gRnJvbSB0aGUgYm90dG9tIGhhbGYsIHJl YWQgb25lIHJlcXVlc3QgZnJvbSB0aGUgcmluZywKY3JlYXRlIGEgcGR1IGFuZCBjYWxsIHBkdV9z dWJtaXQgdG8gaGFuZGxlIGl0LgoKRm9yIG5vdywgb25seSBoYW5kbGUgb25lIHJlcXVlc3QgcGVy IHJpbmcgYXQgYSB0aW1lLgoKU2lnbmVkLW9mZi1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVm YW5vQGFwb3JldG8uY29tPgpDQzogYW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbQpDQzogamdyb3Nz QHN1c2UuY29tCkNDOiBBbmVlc2ggS3VtYXIgSy5WIDxhbmVlc2gua3VtYXJAbGludXgudm5ldC5p Ym0uY29tPgpDQzogR3JlZyBLdXJ6IDxncm91Z0BrYW9kLm9yZz4KLS0tCiBody85cGZzL3hlbi05 cC1iYWNrZW5kLmMgfCA0NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9o dy85cGZzL3hlbi05cC1iYWNrZW5kLmMgYi9ody85cGZzL3hlbi05cC1iYWNrZW5kLmMKaW5kZXgg NTllODlmZC4uZDRjM2QzNiAxMDA2NDQKLS0tIGEvaHcvOXBmcy94ZW4tOXAtYmFja2VuZC5jCisr KyBiL2h3LzlwZnMveGVuLTlwLWJhY2tlbmQuYwpAQCAtOTQsMTIgKzk0LDU5IEBAIHN0YXRpYyBp bnQgeGVuXzlwZnNfaW5pdChzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCiAgICAgcmV0dXJuIDA7 CiB9CiAKK3N0YXRpYyBpbnQgeGVuXzlwZnNfcmVjZWl2ZShzdHJ1Y3QgWGVuOXBmc1JpbmcgKnJp bmcpCit7CisgICAgc3RydWN0IHhlbl85cGZzX2hlYWRlciBoOworICAgIFJJTkdfSURYIGNvbnMs IHByb2QsIG1hc2tlZF9wcm9kLCBtYXNrZWRfY29uczsKKyAgICBWOWZzUERVICpwZHU7CisKKyAg ICBpZiAocmluZy0+aW5wcm9ncmVzcykgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAg ICBjb25zID0gcmluZy0+aW50Zi0+b3V0X2NvbnM7CisgICAgcHJvZCA9IHJpbmctPmludGYtPm91 dF9wcm9kOworICAgIHhlbl9ybWIoKTsKKworICAgIGlmICh4ZW5fOXBmc19xdWV1ZWQocHJvZCwg Y29ucywgWEVOXzlQRlNfUklOR19TSVpFKSA8IHNpemVvZihoKSkgeworICAgICAgICByZXR1cm4g MDsKKyAgICB9CisgICAgcmluZy0+aW5wcm9ncmVzcyA9IHRydWU7CisKKyAgICBtYXNrZWRfcHJv ZCA9IHhlbl85cGZzX21hc2socHJvZCwgWEVOXzlQRlNfUklOR19TSVpFKTsKKyAgICBtYXNrZWRf Y29ucyA9IHhlbl85cGZzX21hc2soY29ucywgWEVOXzlQRlNfUklOR19TSVpFKTsKKworICAgIHhl bl85cGZzX3JlYWRfcGFja2V0KHJpbmctPnJpbmcub3V0LCBtYXNrZWRfcHJvZCwgJm1hc2tlZF9j b25zLAorICAgICAgICAgICAgICAgICAgICAgICAgIFhFTl85UEZTX1JJTkdfU0laRSwgKHVpbnQ4 X3QqKSAmaCwgc2l6ZW9mKGgpKTsKKworICAgIHBkdSA9IHBkdV9hbGxvYygmcmluZy0+cHJpdi0+ c3RhdGUpOworICAgIHBkdS0+c2l6ZSA9IGguc2l6ZTsKKyAgICBwZHUtPmlkID0gaC5pZDsKKyAg ICBwZHUtPnRhZyA9IGgudGFnOworICAgIHJpbmctPm91dF9zaXplID0gaC5zaXplOworICAgIHJp bmctPm91dF9jb25zID0gY29ucyArIGguc2l6ZTsKKworICAgIHFlbXVfY29fcXVldWVfaW5pdCgm cGR1LT5jb21wbGV0ZSk7CisgICAgcGR1X3N1Ym1pdChwZHUpOworCisgICAgcmV0dXJuIDA7Cit9 CisKIHN0YXRpYyB2b2lkIHhlbl85cGZzX2JoKHZvaWQgKm9wYXF1ZSkKIHsKKyAgICBzdHJ1Y3Qg WGVuOXBmc1JpbmcgKnJpbmcgPSBvcGFxdWU7CisgICAgeGVuXzlwZnNfcmVjZWl2ZShyaW5nKTsK IH0KIAogc3RhdGljIHZvaWQgeGVuXzlwZnNfZXZ0Y2huX2V2ZW50KHZvaWQgKm9wYXF1ZSkKIHsK KyAgICBzdHJ1Y3QgWGVuOXBmc1JpbmcgKnJpbmcgPSBvcGFxdWU7CisgICAgZXZ0Y2huX3BvcnRf dCBwb3J0OworCisgICAgcG9ydCA9IHhlbmV2dGNobl9wZW5kaW5nKHJpbmctPmV2dGNobmRldik7 CisgICAgeGVuZXZ0Y2huX3VubWFzayhyaW5nLT5ldnRjaG5kZXYsIHBvcnQpOworCisgICAgcWVt dV9iaF9zY2hlZHVsZShyaW5nLT5iaCk7CiB9CiAKIHN0YXRpYyBpbnQgeGVuXzlwZnNfZnJlZShz dHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=