From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v3 5/8] libxl: properly use vdev vs local device Date: Thu, 31 Mar 2016 17:09:36 +0200 Message-ID: <1459436979-7475-6-git-send-email-roger.pau@citrix.com> References: <1459436979-7475-1-git-send-email-roger.pau@citrix.com> 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 1aleGy-0006yn-UP for xen-devel@lists.xenproject.org; Thu, 31 Mar 2016 15:12:37 +0000 In-Reply-To: <1459436979-7475-1-git-send-email-roger.pau@citrix.com> 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: Wei Liu , Ian Jackson , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org VGhlIGN1cnJlbnQgY29kZSBpbiBsaWJ4bCBhc3N1bWVkIHRoYXQgdmRldiBpcyBlcXVhbCB0byBs b2NhbCBkZXZpY2UsIGJ1dAp0aGlzIGlzIG9ubHkgdHJ1ZSBmb3IgTGludXggc3lzdGVtcy4gSW4g b3RoZXIgT1NlcyB0aGUgbG9jYWwgZGV2aWNlIGNhbiB1c2UKYSBub21lbmNsYXR1cmUgY29tcGxl dGVseSBkaWZmZXJlbnQgZnJvbSB0aGUgdmlydHVhbCBkZXZpY2Ugb25lLgoKTW92ZSB0aGUgY3Vy cmVudCBsaWJ4bF9fZGV2aWRfdG9fbG9jYWxkZXYgTGludXggaW1wbGVtZW50YXRpb24gb3V0IG9m IHRoZQpPUy1zcGVjaWZpYyBmaWxlIGFuZCByZW5hbWUgaXQgdG8gbGlieGxfX2RldmlkX3RvX3Zk ZXYsIGFuZCB0aGVuIG1ha2Ugc3VyZQpsb2NhbF9kZXZpY2VfYXR0YWNoX2NiIHJldHVybiB0aGUg bG9jYWwgZGV2aWNlIGluIHRoZSBkaXNrcGF0aCBmaWVsZC4KClNpZ25lZC1vZmYtYnk6IFJvZ2Vy IFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpBY2tlZC1ieTogV2VpIExpdSA8d2Vp LmxpdTJAY2l0cml4LmNvbT4KLS0tCkNjOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0 cml4LmNvbT4KQ2M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvbGli eGwvbGlieGwuYyAgICAgICAgICB8IDEyICsrKystLS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2Rl dmljZS5jICAgfCA1NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCB8ICAxICsKIHRvb2xzL2xpYnhsL2xpYnhs X2xpbnV4LmMgICAgfCA0OSArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiA0 IGZpbGVzIGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKyksIDU1IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMgYi90b29scy9saWJ4bC9saWJ4bC5jCmluZGV4IDk0 NGY0ZDEuLmEyNzY3ZmEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMKKysrIGIvdG9v bHMvbGlieGwvbGlieGwuYwpAQCAtMjk4OSw3ICsyOTg5LDcgQEAgc3RhdGljIGNoYXIgKiBsaWJ4 bF9fYWxsb2NfdmRldihsaWJ4bF9fZ2MgKmdjLCB2b2lkICpnZXRfdmRldl91c2VyLAogICAgICAg ICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVzL2RldmljZS92YmQvJWQvYmFja2VuZCIsCiAgICAg ICAgICAgICAgICAgICAgICAgICBkb21wYXRoLCBkZXZpZCkpID09IE5VTEwpIHsKICAgICAgICAg ICAgIGlmIChlcnJubyA9PSBFTk9FTlQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGxpYnhsX19k ZXZpZF90b19sb2NhbGRldihnYywgZGV2aWQpOworICAgICAgICAgICAgICAgIHJldHVybiBsaWJ4 bF9fZGV2aWRfdG9fdmRldihnYywgZGV2aWQpOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAg ICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CkBAIC0zMTI2LDcgKzMxMjYsNyBAQCBzdGF0 aWMgdm9pZCBsb2NhbF9kZXZpY2VfYXR0YWNoX2NiKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2Fv X2RldmljZSAqYW9kZXYpCiB7CiAgICAgU1RBVEVfQU9fR0MoYW9kZXYtPmFvKTsKICAgICBsaWJ4 bF9fZGlza19sb2NhbF9zdGF0ZSAqZGxzID0gQ09OVEFJTkVSX09GKGFvZGV2LCAqZGxzLCBhb2Rl dik7Ci0gICAgY2hhciAqZGV2ID0gTlVMTCwgKmJlX3BhdGggPSBOVUxMOworICAgIGNoYXIgKmJl X3BhdGggPSBOVUxMOwogICAgIGludCByYzsKICAgICBsaWJ4bF9fZGV2aWNlIGRldmljZTsKICAg ICBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzayA9ICZkbHMtPmRpc2s7CkBAIC0zMTQwLDkgKzMxNDAs NiBAQCBzdGF0aWMgdm9pZCBsb2NhbF9kZXZpY2VfYXR0YWNoX2NiKGxpYnhsX19lZ2MgKmVnYywg bGlieGxfX2FvX2RldmljZSAqYW9kZXYpCiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KIAotICAg IGRldiA9IEdDU1BSSU5URigiL2Rldi8lcyIsIGRpc2stPnZkZXYpOwotICAgIExPRyhERUJVRywg ImxvY2FsbHkgYXR0YWNoaW5nIGRpc2sgJXMiLCBkZXYpOwotCiAgICAgcmMgPSBsaWJ4bF9fZGV2 aWNlX2Zyb21fZGlzayhnYywgTElCWExfVE9PTFNUQUNLX0RPTUlELCBkaXNrLCAmZGV2aWNlKTsK ICAgICBpZiAocmMgPCAwKQogICAgICAgICBnb3RvIG91dDsKQEAgLTMxNTEsOCArMzE0OCw5IEBA IHN0YXRpYyB2b2lkIGxvY2FsX2RldmljZV9hdHRhY2hfY2IobGlieGxfX2VnYyAqZWdjLCBsaWJ4 bF9fYW9fZGV2aWNlICphb2RldikKICAgICBpZiAocmMgPCAwKQogICAgICAgICBnb3RvIG91dDsK IAotICAgIGlmIChkZXYgIT0gTlVMTCkKLSAgICAgICAgZGxzLT5kaXNrcGF0aCA9IGxpYnhsX19z dHJkdXAoZ2MsIGRldik7CisgICAgZGxzLT5kaXNrcGF0aCA9IEdDU1BSSU5URigiL2Rldi8lcyIs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWRfdG9fbG9jYWxkZXYo Z2MsIGRldmljZS5kZXZpZCkpOworICAgIExPRyhERUJVRywgImxvY2FsbHkgYXR0YWNoZWQgZGlz ayAlcyIsIGRscy0+ZGlza3BhdGgpOwogCiAgICAgZGxzLT5jYWxsYmFjayhlZ2MsIGRscywgMCk7 CiAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZGV2aWNlLmMgYi90 b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYwppbmRleCA0Y2VkOWI2Li45NDEwNTYzIDEwMDY0NAot LS0gYS90b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9k ZXZpY2UuYwpAQCAtNDM2LDYgKzQzNiw2MyBAQCBpbnQgbGlieGxfX2RldmljZV9kaXNrX2Rldl9u dW1iZXIoY29uc3QgY2hhciAqdmlydHBhdGgsIGludCAqcGRpc2ssCiAgICAgcmV0dXJuIC0xOwog fQogCitzdGF0aWMgY2hhciAqZW5jb2RlX2Rpc2tfbmFtZShjaGFyICpwdHIsIHVuc2lnbmVkIGlu dCBuKQoreworICAgIGlmIChuID49IDI2KQorICAgICAgICBwdHIgPSBlbmNvZGVfZGlza19uYW1l KHB0ciwgbiAvIDI2IC0gMSk7CisgICAgKnB0ciA9ICdhJyArIG4gJSAyNjsKKyAgICByZXR1cm4g cHRyICsgMTsKK30KKworY2hhciAqbGlieGxfX2RldmlkX3RvX3ZkZXYobGlieGxfX2djICpnYywg aW50IGRldmlkKQoreworICAgIHVuc2lnbmVkIGludCBtaW5vcjsKKyAgICBpbnQgb2Zmc2V0Owor ICAgIGludCBucl9wYXJ0czsKKyAgICBjaGFyICpwdHIgPSBOVUxMOworLyogU2FtZSBhcyBpbiBM aW51eC4KKyAqIGVuY29kZV9kaXNrX25hbWUgbWlnaHQgZW5kIHVwIHVzaW5nIHVwIHRvIDI5IGJ5 dGVzIChCVUZGRVJfU0laRSAtIDMpCisgKiBpbmNsdWRpbmcgdGhlIHRyYWlsaW5nIFwwLgorICoK KyAqIFRoZSBjb2RlIGlzIHNhZmUgYmVjYXVzZSAyNiByYWlzZWQgdG8gdGhlIHBvd2VyIG9mIDI4 ICh0aGF0IGlzIHRoZQorICogbWF4aW11bSBvZmZzZXQgdGhhdCBjYW4gYmUgc3RvcmVkIGluIHRo ZSBhbGxvY2F0ZWQgYnVmZmVyIGFzIGEKKyAqIHN0cmluZykgaXMgZmFyIGdyZWF0ZXIgdGhhbiBV SU5UX01BWCBvbiA2NCBiaXRzIHNvIG9mZnNldCBjYW5ub3QgYmUKKyAqIGJpZyBlbm91Z2ggdG8g ZXhoYXVzdCB0aGUgYXZhaWxhYmxlIGJ5dGVzIGluIHJldC4gKi8KKyNkZWZpbmUgQlVGRkVSX1NJ WkUgMzIKKyAgICBjaGFyICpyZXQgPSBsaWJ4bF9femFsbG9jKGdjLCBCVUZGRVJfU0laRSk7CisK KyNkZWZpbmUgRVhUX1NISUZUIDI4CisjZGVmaW5lIEVYVEVOREVEICgxPDxFWFRfU0hJRlQpCisj ZGVmaW5lIFZERVZfSVNfRVhURU5ERUQoZGV2KSAoKGRldikmKEVYVEVOREVEKSkKKyNkZWZpbmUg QkxLSUZfTUlOT1JfRVhUKGRldikgKChkZXYpJih+RVhURU5ERUQpKQorLyogdGhlIHNpemUgb2Yg dGhlIGJ1ZmZlciB0byBzdG9yZSB0aGUgZGV2aWNlIG5hbWUgaXMgMzIgYnl0ZXMgdG8gbWF0Y2gg dGhlCisgKiBlcXVpdmFsZW50IGJ1ZmZlciBpbiB0aGUgTGludXgga2VybmVsIGNvZGUgKi8KKwor ICAgIGlmICghVkRFVl9JU19FWFRFTkRFRChkZXZpZCkpIHsKKyAgICAgICAgbWlub3IgPSBkZXZp ZCAmIDB4ZmY7CisgICAgICAgIG5yX3BhcnRzID0gMTY7CisgICAgfSBlbHNlIHsKKyAgICAgICAg bWlub3IgPSBCTEtJRl9NSU5PUl9FWFQoZGV2aWQpOworICAgICAgICBucl9wYXJ0cyA9IDI1NjsK KyAgICB9CisgICAgb2Zmc2V0ID0gbWlub3IgLyBucl9wYXJ0czsKKworICAgIHN0cmNweShyZXQs ICJ4dmQiKTsKKyAgICBwdHIgPSBlbmNvZGVfZGlza19uYW1lKHJldCArIDMsIG9mZnNldCk7Cisg ICAgaWYgKG1pbm9yICUgbnJfcGFydHMgPT0gMCkKKyAgICAgICAgKnB0ciA9IDA7CisgICAgZWxz ZQorICAgICAgICAvKiBvdmVyZmxvdyBjYW5ub3QgaGFwcGVuLCB0aGFua3MgdG8gdGhlIHVwcGVy IGJvdW5kICovCisgICAgICAgIHNucHJpbnRmKHB0ciwgcmV0ICsgMzIgLSBwdHIsCisgICAgICAg ICAgICAgICAgIiVkIiwgbWlub3IgJiAobnJfcGFydHMgLSAxKSk7CisgICAgcmV0dXJuIHJldDsK KyN1bmRlZiBCVUZGRVJfU0laRQorI3VuZGVmIEVYVF9TSElGVAorI3VuZGVmIEVYVEVOREVECisj dW5kZWYgVkRFVl9JU19FWFRFTkRFRAorI3VuZGVmIEJMS0lGX01JTk9SX0VYVAorfQorCiAvKiBE ZXZpY2UgQU8gb3BlcmF0aW9ucyAqLwogCiB2b2lkIGxpYnhsX19wcmVwYXJlX2FvX2RldmljZShs aWJ4bF9fYW8gKmFvLCBsaWJ4bF9fYW9fZGV2aWNlICphb2RldikKZGlmZiAtLWdpdCBhL3Rvb2xz L2xpYnhsL2xpYnhsX2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmlu ZGV4IDlmZGUyMTIuLjZmODA5MTcgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVy bmFsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAtMTE1Niw2ICsxMTU2 LDcgQEAgX2hpZGRlbiBpbnQgbGlieGxfX2RldmljZV9kaXNrX3NldF9iYWNrZW5kKGxpYnhsX19n YyosIGxpYnhsX2RldmljZV9kaXNrKik7CiBfaGlkZGVuIGludCBsaWJ4bF9fZGV2aWNlX3BoeXNk aXNrX21ham9yX21pbm9yKGNvbnN0IGNoYXIgKnBoeXNwYXRoLCBpbnQgKm1ham9yLCBpbnQgKm1p bm9yKTsKIF9oaWRkZW4gaW50IGxpYnhsX19kZXZpY2VfZGlza19kZXZfbnVtYmVyKGNvbnN0IGNo YXIgKnZpcnRwYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aW50ICpwZGlzaywgaW50ICpwcGFydGl0aW9uKTsKK19oaWRkZW4gY2hhciAqbGlieGxfX2Rldmlk X3RvX3ZkZXYobGlieGxfX2djICpnYywgaW50IGRldmlkKTsKIAogX2hpZGRlbiBpbnQgbGlieGxf X2RldmljZV9jb25zb2xlX2FkZChsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RldmljZV9jb25zb2xlICpj b25zb2xlLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfbGludXguYyBiL3Rvb2xzL2xp YnhsL2xpYnhsX2xpbnV4LmMKaW5kZXggYmU0YWZjNi4uNjI0ZjAyOCAxMDA2NDQKLS0tIGEvdG9v bHMvbGlieGwvbGlieGxfbGludXguYworKysgYi90b29scy9saWJ4bC9saWJ4bF9saW51eC5jCkBA IC0yNiw1NiArMjYsOSBAQCBpbnQgbGlieGxfX3RyeV9waHlfYmFja2VuZChtb2RlX3Qgc3RfbW9k ZSkKICAgICByZXR1cm4gMDsKIH0KIAotI2RlZmluZSBFWFRfU0hJRlQgMjgKLSNkZWZpbmUgRVhU RU5ERUQgKDE8PEVYVF9TSElGVCkKLSNkZWZpbmUgVkRFVl9JU19FWFRFTkRFRChkZXYpICgoZGV2 KSYoRVhURU5ERUQpKQotI2RlZmluZSBCTEtJRl9NSU5PUl9FWFQoZGV2KSAoKGRldikmKH5FWFRF TkRFRCkpCi0vKiB0aGUgc2l6ZSBvZiB0aGUgYnVmZmVyIHRvIHN0b3JlIHRoZSBkZXZpY2UgbmFt ZSBpcyAzMiBieXRlcyB0byBtYXRjaCB0aGUKLSAqIGVxdWl2YWxlbnQgYnVmZmVyIGluIHRoZSBM aW51eCBrZXJuZWwgY29kZSAqLwotI2RlZmluZSBCVUZGRVJfU0laRSAzMgotCi0vKiBTYW1lIGFz IGluIExpbnV4LgotICogZW5jb2RlX2Rpc2tfbmFtZSBtaWdodCBlbmQgdXAgdXNpbmcgdXAgdG8g MjkgYnl0ZXMgKEJVRkZFUl9TSVpFIC0gMykKLSAqIGluY2x1ZGluZyB0aGUgdHJhaWxpbmcgXDAu Ci0gKgotICogVGhlIGNvZGUgaXMgc2FmZSBiZWNhdXNlIDI2IHJhaXNlZCB0byB0aGUgcG93ZXIg b2YgMjggKHRoYXQgaXMgdGhlCi0gKiBtYXhpbXVtIG9mZnNldCB0aGF0IGNhbiBiZSBzdG9yZWQg aW4gdGhlIGFsbG9jYXRlZCBidWZmZXIgYXMgYQotICogc3RyaW5nKSBpcyBmYXIgZ3JlYXRlciB0 aGFuIFVJTlRfTUFYIG9uIDY0IGJpdHMgc28gb2Zmc2V0IGNhbm5vdCBiZQotICogYmlnIGVub3Vn aCB0byBleGhhdXN0IHRoZSBhdmFpbGFibGUgYnl0ZXMgaW4gcmV0LiAqLwotc3RhdGljIGNoYXIg KmVuY29kZV9kaXNrX25hbWUoY2hhciAqcHRyLCB1bnNpZ25lZCBpbnQgbikKLXsKLSAgICBpZiAo biA+PSAyNikKLSAgICAgICAgcHRyID0gZW5jb2RlX2Rpc2tfbmFtZShwdHIsIG4gLyAyNiAtIDEp OwotICAgICpwdHIgPSAnYScgKyBuICUgMjY7Ci0gICAgcmV0dXJuIHB0ciArIDE7Ci19Ci0KIGNo YXIgKmxpYnhsX19kZXZpZF90b19sb2NhbGRldihsaWJ4bF9fZ2MgKmdjLCBpbnQgZGV2aWQpCiB7 Ci0gICAgdW5zaWduZWQgaW50IG1pbm9yOwotICAgIGludCBvZmZzZXQ7Ci0gICAgaW50IG5yX3Bh cnRzOwotICAgIGNoYXIgKnB0ciA9IE5VTEw7Ci0gICAgY2hhciAqcmV0ID0gbGlieGxfX3phbGxv YyhnYywgQlVGRkVSX1NJWkUpOwotCi0gICAgaWYgKCFWREVWX0lTX0VYVEVOREVEKGRldmlkKSkg ewotICAgICAgICBtaW5vciA9IGRldmlkICYgMHhmZjsKLSAgICAgICAgbnJfcGFydHMgPSAxNjsK LSAgICB9IGVsc2UgewotICAgICAgICBtaW5vciA9IEJMS0lGX01JTk9SX0VYVChkZXZpZCk7Ci0g ICAgICAgIG5yX3BhcnRzID0gMjU2OwotICAgIH0KLSAgICBvZmZzZXQgPSBtaW5vciAvIG5yX3Bh cnRzOwotCi0gICAgc3RyY3B5KHJldCwgInh2ZCIpOwotICAgIHB0ciA9IGVuY29kZV9kaXNrX25h bWUocmV0ICsgMywgb2Zmc2V0KTsKLSAgICBpZiAobWlub3IgJSBucl9wYXJ0cyA9PSAwKQotICAg ICAgICAqcHRyID0gMDsKLSAgICBlbHNlCi0gICAgICAgIC8qIG92ZXJmbG93IGNhbm5vdCBoYXBw ZW4sIHRoYW5rcyB0byB0aGUgdXBwZXIgYm91bmQgKi8KLSAgICAgICAgc25wcmludGYocHRyLCBy ZXQgKyAzMiAtIHB0ciwKLSAgICAgICAgICAgICAgICAiJWQiLCBtaW5vciAmIChucl9wYXJ0cyAt IDEpKTsKLSAgICByZXR1cm4gcmV0OworICAgIHJldHVybiBsaWJ4bF9fZGV2aWRfdG9fdmRldihn YywgZGV2aWQpOwogfQogCiAvKiBIb3RwbHVnIHNjcmlwdHMgaGVscGVycyAqLwotLSAKMi42LjQg KEFwcGxlIEdpdC02MykKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0 dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=