From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH 2/4] 9pfs: introduce transport specific callbacks Date: Mon, 21 Nov 2016 13:39:30 -0800 Message-ID: <1479764372-29470-2-git-send-email-sstabellini@kernel.org> References: <1479764372-29470-1-git-send-email-sstabellini@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1479764372-29470-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: aneesh.kumar@linux.vnet.ibm.com Cc: xen-devel@lists.xensource.com, wei.liu2@citrix.com, groug@kaod.org, qemu-devel@nongnu.org, sstabellini@kernel.org, anthony.perard@citrix.com List-Id: xen-devel@lists.xenproject.org RG9uJ3QgY2FsbCB2aXJ0aW8gZnVuY3Rpb25zIGZyb20gOXBmcyBnZW5lcmljIGNvZGUsIHVzZSBn ZW5lcmljIGZ1bmN0aW9uCmNhbGxiYWNrcyBpbnN0ZWFkLgoKU2lnbmVkLW9mZi1ieTogU3RlZmFu byBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgotLS0KIGh3LzlwZnMvOXAuYyAg ICAgICAgICAgICAgIHwgIDggKysrKy0tLS0KIGh3LzlwZnMvOXAuaCAgICAgICAgICAgICAgIHwg MTggKysrKysrKysrKysrKysrKysrCiBody85cGZzL3ZpcnRpby05cC1kZXZpY2UuYyB8IDE4ICsr KysrKysrKysrKysrLS0tLQogaHcvOXBmcy92aXJ0aW8tOXAuaCAgICAgICAgfCAgOSAtLS0tLS0t LS0KIDQgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvaHcvOXBmcy85cC5jIGIvaHcvOXBmcy85cC5jCmluZGV4IDA1ZTk1MGYuLjVh MjBhMTMgMTAwNjQ0Ci0tLSBhL2h3LzlwZnMvOXAuYworKysgYi9ody85cGZzLzlwLmMKQEAgLTQ3 LDcgKzQ3LDcgQEAgc3NpemVfdCBwZHVfbWFyc2hhbChWOWZzUERVICpwZHUsIHNpemVfdCBvZmZz ZXQsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogICAgIHZhX2xpc3QgYXA7CiAKICAgICB2YV9zdGFy dChhcCwgZm10KTsKLSAgICByZXQgPSB2aXJ0aW9fcGR1X3ZtYXJzaGFsKHBkdSwgb2Zmc2V0LCBm bXQsIGFwKTsKKyAgICByZXQgPSBwZHUtPnMtPnRyYW5zcG9ydC0+cGR1X3ZtYXJzaGFsKHBkdSwg b2Zmc2V0LCBmbXQsIGFwKTsKICAgICB2YV9lbmQoYXApOwogCiAgICAgcmV0dXJuIHJldDsKQEAg LTU5LDcgKzU5LDcgQEAgc3NpemVfdCBwZHVfdW5tYXJzaGFsKFY5ZnNQRFUgKnBkdSwgc2l6ZV90 IG9mZnNldCwgY29uc3QgY2hhciAqZm10LCAuLi4pCiAgICAgdmFfbGlzdCBhcDsKIAogICAgIHZh X3N0YXJ0KGFwLCBmbXQpOwotICAgIHJldCA9IHZpcnRpb19wZHVfdnVubWFyc2hhbChwZHUsIG9m ZnNldCwgZm10LCBhcCk7CisgICAgcmV0ID0gcGR1LT5zLT50cmFuc3BvcnQtPnBkdV92dW5tYXJz aGFsKHBkdSwgb2Zmc2V0LCBmbXQsIGFwKTsKICAgICB2YV9lbmQoYXApOwogCiAgICAgcmV0dXJu IHJldDsKQEAgLTY3LDcgKzY3LDcgQEAgc3NpemVfdCBwZHVfdW5tYXJzaGFsKFY5ZnNQRFUgKnBk dSwgc2l6ZV90IG9mZnNldCwgY29uc3QgY2hhciAqZm10LCAuLi4pCiAKIHN0YXRpYyB2b2lkIHBk dV9wdXNoX2FuZF9ub3RpZnkoVjlmc1BEVSAqcGR1KQogewotICAgIHZpcnRpb185cF9wdXNoX2Fu ZF9ub3RpZnkocGR1KTsKKyAgICBwZHUtPnMtPnRyYW5zcG9ydC0+cHVzaF9hbmRfbm90aWZ5KHBk dSk7CiB9CiAKIHN0YXRpYyBpbnQgb21vZGVfdG9fdWZsYWdzKGludDhfdCBtb2RlKQpAQCAtMTc1 MSw3ICsxNzUxLDcgQEAgc3RhdGljIHZvaWQgdjlmc19pbml0X3Fpb3ZfZnJvbV9wZHUoUUVNVUlP VmVjdG9yICpxaW92LCBWOWZzUERVICpwZHUsCiAgICAgc3RydWN0IGlvdmVjICppb3Y7CiAgICAg dW5zaWduZWQgaW50IG5pb3Y7CiAKLSAgICB2aXJ0aW9faW5pdF9pb3ZfZnJvbV9wZHUocGR1LCAm aW92LCAmbmlvdiwgaXNfd3JpdGUpOworICAgIHBkdS0+cy0+dHJhbnNwb3J0LT5pbml0X2lvdl9m cm9tX3BkdShwZHUsICZpb3YsICZuaW92LCBpc193cml0ZSk7CiAKICAgICBxZW11X2lvdmVjX2lu aXRfZXh0ZXJuYWwoJmVsZW0sIGlvdiwgbmlvdik7CiAgICAgcWVtdV9pb3ZlY19pbml0KHFpb3Ys IG5pb3YpOwpkaWZmIC0tZ2l0IGEvaHcvOXBmcy85cC5oIGIvaHcvOXBmcy85cC5oCmluZGV4IDA3 Y2VlMDEuLmFiMzk4ZDAgMTAwNjQ0Ci0tLSBhL2h3LzlwZnMvOXAuaAorKysgYi9ody85cGZzLzlw LmgKQEAgLTIzMCw2ICsyMzAsNyBAQCB0eXBlZGVmIHN0cnVjdCBWOWZzU3RhdGUKICAgICBlbnVt IHA5X3Byb3RvX3ZlcnNpb24gcHJvdG9fdmVyc2lvbjsKICAgICBpbnQzMl90IG1zaXplOwogICAg IFY5ZnNQRFUgcGR1c1tNQVhfUkVRXTsKKyAgICBzdHJ1Y3QgVjlmc1RyYW5zcG9ydCAqdHJhbnNw b3J0OwogICAgIC8qCiAgICAgICogbG9jayBlbnN1cmluZyBhdG9taWMgcGF0aCB1cGRhdGUKICAg ICAgKiBvbiByZW5hbWUuCkBAIC0zNDMsNCArMzQ0LDIxIEBAIHZvaWQgcGR1X2ZyZWUoVjlmc1BE VSAqcGR1KTsKIHZvaWQgcGR1X3N1Ym1pdChWOWZzUERVICpwZHUpOwogdm9pZCB2OWZzX3Jlc2V0 KFY5ZnNTdGF0ZSAqcyk7CiAKK3N0cnVjdCBWOWZzVHJhbnNwb3J0IHsKKyAgICBzc2l6ZV90ICAg ICAoKnBkdV92bWFyc2hhbCkoVjlmc1BEVSAqcGR1LCBzaXplX3Qgb2Zmc2V0LCBjb25zdCBjaGFy ICpmbXQsIHZhX2xpc3QgYXApOworICAgIHNzaXplX3QgICAgICgqcGR1X3Z1bm1hcnNoYWwpKFY5 ZnNQRFUgKnBkdSwgc2l6ZV90IG9mZnNldCwgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwKTsK KyAgICB2b2lkICAgICAgICAoKmluaXRfaW92X2Zyb21fcGR1KShWOWZzUERVICpwZHUsIHN0cnVj dCBpb3ZlYyAqKnBpb3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp bnQgKnBuaW92LCBib29sIGlzX3dyaXRlKTsKKyAgICB2b2lkICAgICAgICAoKnB1c2hfYW5kX25v dGlmeSkoVjlmc1BEVSAqcGR1KTsKK307CisKK3N0YXRpYyBpbmxpbmUgaW50IHY5ZnNfcmVnaXN0 ZXJfdHJhbnNwb3J0KFY5ZnNTdGF0ZSAqcywgc3RydWN0IFY5ZnNUcmFuc3BvcnQgKnQpCit7Cisg ICAgaWYgKHMtPnRyYW5zcG9ydCkgeworICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICB9Cisg ICAgcy0+dHJhbnNwb3J0ID0gdDsKKyAgICByZXR1cm4gMDsKK30KKwogI2VuZGlmCmRpZmYgLS1n aXQgYS9ody85cGZzL3ZpcnRpby05cC1kZXZpY2UuYyBiL2h3LzlwZnMvdmlydGlvLTlwLWRldmlj ZS5jCmluZGV4IDE3ODJlNGEuLmUxYTM3YTQgMTAwNjQ0Ci0tLSBhL2h3LzlwZnMvdmlydGlvLTlw LWRldmljZS5jCisrKyBiL2h3LzlwZnMvdmlydGlvLTlwLWRldmljZS5jCkBAIC0yMCw3ICsyMCw5 IEBACiAjaW5jbHVkZSAiaHcvdmlydGlvL3ZpcnRpby1hY2Nlc3MuaCIKICNpbmNsdWRlICJxZW11 L2lvdi5oIgogCi12b2lkIHZpcnRpb185cF9wdXNoX2FuZF9ub3RpZnkoVjlmc1BEVSAqcGR1KQor c3RhdGljIHN0cnVjdCBWOWZzVHJhbnNwb3J0IHZpcnRpb185cF90cmFuc3BvcnQ7CisKK3N0YXRp YyB2b2lkIHZpcnRpb185cF9wdXNoX2FuZF9ub3RpZnkoVjlmc1BEVSAqcGR1KQogewogICAgIFY5 ZnNTdGF0ZSAqcyA9IHBkdS0+czsKICAgICBWOWZzVmlydGlvU3RhdGUgKnYgPSBjb250YWluZXJf b2YocywgVjlmc1ZpcnRpb1N0YXRlLCBzdGF0ZSk7CkBAIC0xMjYsNiArMTI4LDcgQEAgc3RhdGlj IHZvaWQgdmlydGlvXzlwX2RldmljZV9yZWFsaXplKERldmljZVN0YXRlICpkZXYsIEVycm9yICoq ZXJycCkKICAgICB2LT5jb25maWdfc2l6ZSA9IHNpemVvZihzdHJ1Y3QgdmlydGlvXzlwX2NvbmZp ZykgKyBzdHJsZW4ocy0+ZnNjb25mLnRhZyk7CiAgICAgdmlydGlvX2luaXQodmRldiwgInZpcnRp by05cCIsIFZJUlRJT19JRF85UCwgdi0+Y29uZmlnX3NpemUpOwogICAgIHYtPnZxID0gdmlydGlv X2FkZF9xdWV1ZSh2ZGV2LCBNQVhfUkVRLCBoYW5kbGVfOXBfb3V0cHV0KTsKKyAgICB2OWZzX3Jl Z2lzdGVyX3RyYW5zcG9ydChzLCAmdmlydGlvXzlwX3RyYW5zcG9ydCk7CiAKIG91dDoKICAgICBy ZXR1cm47CkBAIC0xNDgsNyArMTUxLDcgQEAgc3RhdGljIHZvaWQgdmlydGlvXzlwX3Jlc2V0KFZp cnRJT0RldmljZSAqdmRldikKICAgICB2OWZzX3Jlc2V0KCZ2LT5zdGF0ZSk7CiB9CiAKLXNzaXpl X3QgdmlydGlvX3BkdV92bWFyc2hhbChWOWZzUERVICpwZHUsIHNpemVfdCBvZmZzZXQsCitzdGF0 aWMgc3NpemVfdCB2aXJ0aW9fcGR1X3ZtYXJzaGFsKFY5ZnNQRFUgKnBkdSwgc2l6ZV90IG9mZnNl dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3Qg YXApCiB7CiAgICAgVjlmc1N0YXRlICpzID0gcGR1LT5zOwpAQCAtMTU4LDcgKzE2MSw3IEBAIHNz aXplX3QgdmlydGlvX3BkdV92bWFyc2hhbChWOWZzUERVICpwZHUsIHNpemVfdCBvZmZzZXQsCiAg ICAgcmV0dXJuIHY5ZnNfaW92X3ZtYXJzaGFsKGVsZW0tPmluX3NnLCBlbGVtLT5pbl9udW0sIG9m ZnNldCwgMSwgZm10LCBhcCk7CiB9CiAKLXNzaXplX3QgdmlydGlvX3BkdV92dW5tYXJzaGFsKFY5 ZnNQRFUgKnBkdSwgc2l6ZV90IG9mZnNldCwKK3N0YXRpYyBzc2l6ZV90IHZpcnRpb19wZHVfdnVu bWFyc2hhbChWOWZzUERVICpwZHUsIHNpemVfdCBvZmZzZXQsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApCiB7CiAgICAgVjlmc1N0YXRl ICpzID0gcGR1LT5zOwpAQCAtMTY4LDcgKzE3MSw3IEBAIHNzaXplX3QgdmlydGlvX3BkdV92dW5t YXJzaGFsKFY5ZnNQRFUgKnBkdSwgc2l6ZV90IG9mZnNldCwKICAgICByZXR1cm4gdjlmc19pb3Zf dnVubWFyc2hhbChlbGVtLT5vdXRfc2csIGVsZW0tPm91dF9udW0sIG9mZnNldCwgMSwgZm10LCBh cCk7CiB9CiAKLXZvaWQgdmlydGlvX2luaXRfaW92X2Zyb21fcGR1KFY5ZnNQRFUgKnBkdSwgc3Ry dWN0IGlvdmVjICoqcGlvdiwKK3N0YXRpYyB2b2lkIHZpcnRpb19pbml0X2lvdl9mcm9tX3BkdShW OWZzUERVICpwZHUsIHN0cnVjdCBpb3ZlYyAqKnBpb3YsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1bnNpZ25lZCBpbnQgKnBuaW92LCBib29sIGlzX3dyaXRlKQogewogICAgIFY5ZnNT dGF0ZSAqcyA9IHBkdS0+czsKQEAgLTE4NCw2ICsxODcsMTMgQEAgdm9pZCB2aXJ0aW9faW5pdF9p b3ZfZnJvbV9wZHUoVjlmc1BEVSAqcGR1LCBzdHJ1Y3QgaW92ZWMgKipwaW92LAogICAgIH0KIH0K IAorc3RhdGljIHN0cnVjdCBWOWZzVHJhbnNwb3J0IHZpcnRpb185cF90cmFuc3BvcnQgPSB7Cisg ICAgLnBkdV92bWFyc2hhbCA9IHZpcnRpb19wZHVfdm1hcnNoYWwsCisgICAgLnBkdV92dW5tYXJz aGFsID0gdmlydGlvX3BkdV92dW5tYXJzaGFsLAorICAgIC5pbml0X2lvdl9mcm9tX3BkdSA9IHZp cnRpb19pbml0X2lvdl9mcm9tX3BkdSwKKyAgICAucHVzaF9hbmRfbm90aWZ5ID0gdmlydGlvXzlw X3B1c2hfYW5kX25vdGlmeSwKK307CisKIC8qIHZpcnRpby05cCBkZXZpY2UgKi8KIAogc3RhdGlj IGNvbnN0IFZNU3RhdGVEZXNjcmlwdGlvbiB2bXN0YXRlX3ZpcnRpb185cCA9IHsKZGlmZiAtLWdp dCBhL2h3LzlwZnMvdmlydGlvLTlwLmggYi9ody85cGZzL3ZpcnRpby05cC5oCmluZGV4IDUyYzRi OWQuLmU3NjNkYTJjIDEwMDY0NAotLS0gYS9ody85cGZzL3ZpcnRpby05cC5oCisrKyBiL2h3Lzlw ZnMvdmlydGlvLTlwLmgKQEAgLTE0LDE1ICsxNCw2IEBAIHR5cGVkZWYgc3RydWN0IFY5ZnNWaXJ0 aW9TdGF0ZQogICAgIFY5ZnNTdGF0ZSBzdGF0ZTsKIH0gVjlmc1ZpcnRpb1N0YXRlOwogCi12b2lk IHZpcnRpb185cF9wdXNoX2FuZF9ub3RpZnkoVjlmc1BEVSAqcGR1KTsKLQotc3NpemVfdCB2aXJ0 aW9fcGR1X3ZtYXJzaGFsKFY5ZnNQRFUgKnBkdSwgc2l6ZV90IG9mZnNldCwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApOwotc3NpemVfdCB2 aXJ0aW9fcGR1X3Z1bm1hcnNoYWwoVjlmc1BEVSAqcGR1LCBzaXplX3Qgb2Zmc2V0LAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwKTsKLXZv aWQgdmlydGlvX2luaXRfaW92X2Zyb21fcGR1KFY5ZnNQRFUgKnBkdSwgc3RydWN0IGlvdmVjICoq cGlvdiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqcG5pb3Ys IGJvb2wgaXNfd3JpdGUpOwotCiAjZGVmaW5lIFRZUEVfVklSVElPXzlQICJ2aXJ0aW8tOXAtZGV2 aWNlIgogI2RlZmluZSBWSVJUSU9fOVAob2JqKSBcCiAgICAgICAgIE9CSkVDVF9DSEVDSyhWOWZz VmlydGlvU3RhdGUsIChvYmopLCBUWVBFX1ZJUlRJT185UCkKLS0gCjEuOS4xCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==