From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: Re: Resend: [PATCH] v3 - Add exclusive locking option to block-iscsi Date: Thu, 19 May 2016 13:10:37 +0100 Message-ID: <20160519121037.GS27241@citrix.com> References: <7096b642a7ecfe36f8896c4b2b840457@crc.id.au> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Steven Haigh Cc: Ian Jackson , Roger Pau =?iso-8859-1?Q?Monn=E9?= , Wei Liu , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gVGh1LCBNYXkgMTksIDIwMTYgYXQgMTE6Mjk6MzJBTSArMTAwMCwgU3RldmVuIEhhaWdoIHdy b3RlOgo+IE9uIDIwMTYtMDUtMDkgMTQ6MjIsIFN0ZXZlbiBIYWlnaCB3cm90ZToKPiA+T24gMjAx Ni0wNS0wNSAxNTo1MiwgU3RldmVuIEhhaWdoIHdyb3RlOgo+ID4+T24gMjAxNi0wNS0wNSAxMjoz MiwgU3RldmVuIEhhaWdoIHdyb3RlOgo+ID4+Pk92ZXJ2aWV3Cj4gPj4+Cj4gPj4+SWYgeW91J3Jl IHVzaW5nIGlTQ1NJLCB5b3UgY2FuIG1vdW50IGEgdGFyZ2V0IGJ5IG11bHRpcGxlIERvbTAKPiA+ Pj5tYWNoaW5lcyBvbiB0aGUgc2FtZSB0YXJnZXQuIEZvciBub24tY2x1c3RlciBhd2FyZSBmaWxl c3lzdGVtcywgdGhpcwo+ID4+PmNhbiBsZWFkIHRvIGRpc2sgY29ycnVwdGlvbiBhbmQgZ2VuZXJh bCBiYWQgdGltZXMgYnkgYWxsLiBUaGUgaVNDU0kKPiA+Pj5wcm90b2NvbCBhbGxvd3MgdGhlIHVz ZSBvZiBwZXJzaXN0ZW50IHJlc2VydmF0aW9ucyBhcyBwZXIgdGhlIFNDU0kKPiA+Pj5kaXNrIHNw ZWMuIExvdyBsZXZlbCBTQ1NJIGNvbW1hbmRzIGZvciBsb2NraW5nIGFyZSBoYW5kbGVkIGJ5IHRo ZQo+ID4+PnNnX3BlcnNpc3QgcHJvZ3JhbSAoYnVuZGxlZCB3aXRoIHNnM191dGlscyBwYWNrYWdl IGluIEVMKS4KPiA+Pj4KPiA+Pj5UaGUgYWltIG9mIHRoaXMgcGF0Y2ggaXMgdG8gY3JlYXRlIGEg J2xvY2t0YXJnZXQ9eScgb3B0aW9uIHNwZWNpZmllZAo+ID4+PndpdGhpbiB0aGUgZGlzayAndGFy Z2V0JyBjb21tYW5kIGZvciBpU0NTSSB0byBsb2NrIHRoZSB0YXJnZXQgaW4KPiA+Pj5leGNsdXNp dmUgbW9kZSBvbiBWTSBzdGFydCB3aXRoIGEga2V5IGdlbmVyYXRlZCBmcm9tIHRoZSBsb2NhbCBz eXN0ZW1zCj4gPj4+SVAsIGFuZCByZWxlYXNlIHRoaXMgbG9jayBvbiB0aGUgc2h1dGRvd24gb2Yg dGhlIERvbVUuCj4gPj4+Cj4gPj4+RXhhbXBsZSBDb25maWc6Cj4gPj4+ZGlzayAgICAgICAgICAg ID0KPiA+Pj5bJ3NjcmlwdD1ibG9jay1pc2NzaSx2ZGV2PXh2ZGEsdGFyZ2V0PWlxbj1pcW4uMTk4 Ni0wMy5jb20uc3VuOjAyOm15dGFyZ2V0LHBvcnRhbD1pc2NzaS5leGFtcGxlLmNvbSxsb2NrdGFy Z2V0PXknXQo+ID4+Pgo+ID4+PkluIHdyaXRpbmcgdGhpcywgSSBoYXZlIGFsc28gcmUtZmFjdG9y ZWQgcGFydHMgb2YgdGhlIHNjcmlwdCB0byBwdXQKPiA+Pj5zb21lIHRoaW5ncyBpbiB3aGF0IEkg YmVsaWV2ZSB0byBiZSBhIGJldHRlciBwbGFjZSB0byBtYWtlIGV4cGFuc2lvbgo+ID4+PmVhc2ll ci4gVGhpcyBpcyBtYWlubHkgaW4gcmVtb3ZpbmcgZnVuY3Rpb25zIHRoYXQgcHVyZWx5IGNhbGwg b3RoZXIKPiA+Pj5mdW5jdGlvbnMgd2l0aCBubyBhY3R1YWwgY29kZSBleGVjdXRpb24uCj4gPj4+ Cj4gPj4+U2lnbmVkLW9mZi1ieTogU3RldmVuIEhhaWdoIDxuZXR3aXpAY3JjLmlkLmF1Pgo+ID4+ Pgo+ID4+PihvbiBhIHNpZGUgbm90ZSwgZmlyc3QgdGltZSBJJ3ZlIHN1Ym1pdHRlZCBhIHBhdGNo IHRvIHRoZSBsaXN0IGFuZCBJJ20KPiA+Pj5jdXJyZW50bHkgc3R1Y2sgb24gYSB3ZWJtYWlsIGNs aWVudCwgc28gYXBvbG9naWVzIGluIGFkdmFuY2UgaWYgdGhpcwo+ID4+PmFsbCBnb2VzIHdyb25n IDspCj4gPj4KPiA+PkNoYW5nZXMgaW4gdjI6Cj4gPj5CdWdmaXg6IENhbGwgZmluZF9kZXZpY2Ug dG8gbG9jYXRlIHRoZSAvZGV2L3NkWCBjb21wb25lbnQgb2YgdGhlIGlTQ1NJCj4gPj50YXJnZXQg YmVmb3JlIHRyeWluZyB0byBydW4gdW5sb2NrX2RldmljZSgpLgo+ID4+Cj4gPj5BcG9sb2dpZXMg Zm9yIHRoaXMgb3ZlcnNpZ2h0Lgo+ID4+Cj4gPgo+ID5DaGFuZ2VzIGluIHYzOgo+ID4qIFNwbGl0 IHRoZSBibG9jay1pc2NzaSBjbGVhbnVwIGludG8gYSBzZXBlcmF0ZSBwYXRjaAo+ID4oYmxvY2st aXNjc2ktbG9ja2luZy12M18wMV9zaW1wbGlmeV9ibG9jay1pc2NzaS5wYXRjaCkuCj4gPiogQWRk IGxvY2tpbmcgaW4gc2Vjb25kIHBhdGNoIGZpbGUKPiA+KGJsb2NrLWlzY3NpLWxvY2tpbmctdjNf MDJfYWRkX2xvY2tpbmcucGF0Y2gpCj4gCj4gUmVzZW5kIG9mIHBhdGNoZXMuCj4gCj4gVGhlcmUg d2FzIGEgbWVudGlvbiBvZiBoYXZpbmcgdG8gYWRkIGZ1cnRoZXIgZG9jdW1lbnRhdGlvbiB0bwo+ IHhsLWRpc2stY29uZmlndXJhdGlvbi50eHQgLSBob3dldmVyIHRoZXJlIGFyZSBubyBtZW50aW9u cyBvZiBibG9jay1pc2NzaQo+IHNjcmlwdCB3aXRoaW4gdGhlIGRvY3VtZW50YXRpb24gdG8gYWRk LiBBcyBzdWNoLCBpdCBwcm9iYWJseSB3b3VsZCBiZSBvdXQgb2YKPiBwbGFjZSB0byBhZGQgdGhp bmdzIGhlcmUuCj4gCj4gVGhlIGxvY2t0YXJnZXQgb3B0aW9uIGlzIHByZXNlbnRlZCBkaXJlY3Rs eSB0byB0aGUgYmxvY2staXNjc2kgc2NyaXB0IGFuZAo+IG5vdCBldmFsdWF0ZWQgYW55d2hlcmUg b3V0c2lkZSB0aGlzIHNjcmlwdC4KPiAKClNvcnJ5IEkgZHJvcHBlZCB0aGUgYmFsbC4gSSB0aGlu ayBpdCB3b3VsZCBiZSBoZWxwZnVsIGlmIHlvdSBvciBSb2dlcgpjYW4gc2VuZCBhIHBhdGNoIHRv IGRvY3VtZW50IGFsbCB0aGUga25vYnMgZm9yIGJsb2NrLWlzY3NpLiBJdCBkb2Vzbid0CmhhdmUg dG8gYmUgaW4gdGhhdCBmaWxlLCB3ZSBjYW4gZmlndXJlIG91dCB3aGVyZSB0byBhZGQuCgpGWUkg d2UgYXJlIGluIHRoZSBwcm9jZXNzIG9mIG1ha2luZyA0LjcgcmVsZWFzZSwgc28gdGhlIHJlc3Bv bnNlIGhlcmUKbWlnaHQgdGFrZSBhIGJpdCBsb25nZXIuIEZBT0QgdGhpcyBwYXRjaCBpcyBub3Qg dGFyZ2V0aW5nIDQuNywgcmlnaHQ/CgpJJ20gbm90IHRvbyBmYW1pbGlhciB3aXRoIGJsb2NrIHNj cmlwdCBzbyBJIHRoaW5rIEkgd2lsbApkZWZlciB0aGlzIHRvIFJvZ2VyLiAgSSd2ZSBhbHNvIEND J2VkIElhbiBmb3IgeW91LgoKVG8gbWFrZSBhIHByb3BlciBwYXRjaCwgcGxlYXNlIGNvdWxkIHlv dSByZWFkOgoKaHR0cDovL3dpa2kueGVucHJvamVjdC5vcmcvd2lraS9TdWJtaXR0aW5nX1hlbl9Q cm9qZWN0X1BhdGNoZXMKCldlaS4KCgo+IC0tIAo+IFN0ZXZlbiBIYWlnaAo+IAo+IEVtYWlsOiBu ZXR3aXpAY3JjLmlkLmF1Cj4gV2ViOiBodHRwczovL3d3dy5jcmMuaWQuYXUKPiBQaG9uZTogKDAz KSA5MDAxIDYwOTAgLSAwNDEyIDkzNSA4OTcKCj4gLS0tIGJsb2NrLWlzY3NpLm9yaWcgICAgMjAx Ni0wNS0wOSAxNToxMjowMi40ODk0OTUyMTIgKzEwMDAKPiArKysgYmxvY2staXNjc2kgMjAxNi0w NS0wOSAxNToxNjozNS40NDc0ODA1MzIgKzEwMDAKPiBAQCAtMzEsMTYgKzMxLDYgQEAKPiAgICAg IGVjaG8gJDEgfCBzZWQgInMvXlwoIiQyIlwpLy8iCj4gIH0KPiAgCj4gLWNoZWNrX3Rvb2xzKCkK PiAtewo+IC0gICAgaWYgISBjb21tYW5kIC12IGlzY3NpYWRtID4gL2Rldi9udWxsIDI+JjE7IHRo ZW4KPiAtICAgICAgICBmYXRhbCAiVW5hYmxlIHRvIGZpbmQgaXNjc2lhZG0gdG9vbCIKPiAtICAg IGZpCj4gLSAgICBpZiBbICIkbXVsdGlwYXRoIiA9ICJ5IiBdICYmICEgY29tbWFuZCAtdiBtdWx0 aXBhdGggPiAvZGV2L251bGwgMj4mMTsgdGhlbgo+IC0gICAgICAgIGZhdGFsICJVbmFibGUgdG8g ZmluZCBtdWx0aXBhdGgiCj4gLSAgICBmaQo+IC19Cj4gLQo+ICAjIFNldHMgdGhlIGZvbGxvd2lu ZyBnbG9iYWwgdmFyaWFibGVzIGJhc2VkIG9uIHRoZSBwYXJhbXMgZmllbGQgcGFzc2VkIGluIGFz Cj4gICMgYSBwYXJhbWV0ZXI6IGlxbiwgcG9ydGFsLCBhdXRoX21ldGhvZCwgdXNlciwgbXVsdGlw YXRoLCBwYXNzd29yZAo+ICBwYXJzZV90YXJnZXQoKQo+IEBAIC01MiwxMiArNDIsMTggQEAKPiAg ICAgICAgICBjYXNlICRwYXJhbSBpbgo+ICAgICAgICAgIGlxbj0qKQo+ICAgICAgICAgICAgICBp cW49JChyZW1vdmVfbGFiZWwgJHBhcmFtICJpcW49IikKPiArICAgICAgICAgICAgaWYgISBjb21t YW5kIC12IGlzY3NpYWRtID4gL2Rldi9udWxsIDI+JjE7IHRoZW4KPiArICAgICAgICAgICAgICAg IGZhdGFsICJDb3VsZCBub3QgZmluZCBpc2NzaWFkbSB0b29sLiIKPiArICAgICAgICAgICAgZmkK PiAgICAgICAgICAgICAgOzsKPiAgICAgICAgICBwb3J0YWw9KikKPiAgICAgICAgICAgICAgcG9y dGFsPSQocmVtb3ZlX2xhYmVsICRwYXJhbSAicG9ydGFsPSIpCj4gICAgICAgICAgICAgIDs7Cj4g ICAgICAgICAgbXVsdGlwYXRoPSopCj4gICAgICAgICAgICAgIG11bHRpcGF0aD0kKHJlbW92ZV9s YWJlbCAkcGFyYW0gIm11bHRpcGF0aD0iKQo+ICsgICAgICAgICAgICBpZiAhIGNvbW1hbmQgLXYg bXVsdGlwYXRoID4gL2Rldi9udWxsIDI+JjE7IHRoZW4KPiArICAgICAgICAgICAgICAgIGZhdGFs ICJNdWx0aXBhdGggc2VsZWN0ZWQsIGJ1dCBubyBtdWx0aXBhdGggdG9vbHMgZm91bmQiCj4gKyAg ICAgICAgICAgIGZpCj4gICAgICAgICAgICAgIDs7Cj4gICAgICAgICAgZXNhYwo+ICAgICAgZG9u ZQo+IEBAIC05Niw0MCArOTIsNiBAQAo+ICAgICAgZmkKPiAgfQo+IAo+IC0jIEF0dGFjaGVzIHRo ZSB0YXJnZXQgJGlxbiBpbiAkcG9ydGFsIGFuZCBzZXRzICRkZXYgdG8gcG9pbnQgdG8gdGhlCj4g LSMgbXVsdGlwYXRoIGRldmljZQo+IC1hdHRhY2goKQo+IC17Cj4gLSAgICBkb19vcl9kaWUgaXNj c2lhZG0gLW0gbm9kZSAtLXRhcmdldG5hbWUgIiRpcW4iIC1wICIkcG9ydGFsIiAtLWxvZ2luID4g L2Rldi9udWxsCj4gLSAgICBmaW5kX2RldmljZQo+IC19Cj4gLQo+IC0jIERpc2NvdmVycyB0YXJn ZXRzIGluICRwb3J0YWwgYW5kIGNoZWNrcyB0aGF0ICRpcW4gaXMgb25lIG9mIHRob3NlIHRhcmdl dHMKPiAtIyBBbHNvIHNldHMgdGhlIGF1dGggcGFyYW1ldGVycyB0byBhdHRhY2ggdGhlIGRldmlj ZQo+IC1wcmVwYXJlKCkKPiAtewo+IC0gICAgIyBDaGVjayBpZiB0YXJnZXQgaXMgYWxyZWFkeSBv cGVuZWQKPiAtICAgIGlzY3NpYWRtIC1tIHNlc3Npb24gMj4mMSB8IGdyZXAgLXEgIiRpcW4iICYm IGZhdGFsICJEZXZpY2UgYWxyZWFkeSBvcGVuZWQiCj4gLSAgICAjIERpc2NvdmVyIHBvcnRhbCB0 YXJnZXRzCj4gLSAgICBpc2NzaWFkbSAtbSBkaXNjb3ZlcnkgLXQgc3QgLXAgJHBvcnRhbCAyPiYx IHwgZ3JlcCAtcSAiJGlxbiIgfHwgXAo+IC0gICAgICAgIGZhdGFsICJObyBtYXRjaGluZyB0YXJn ZXQgaXFuIGZvdW5kIgo+IC19Cj4gLQo+IC0jIEF0dGFjaGVzIHRoZSBkZXZpY2UgYW5kIHdyaXRl cyB4ZW5zdG9yZSBiYWNrZW5kIGVudHJpZXMgdG8gY29ubmVjdAo+IC0jIHRoZSBkZXZpY2UKPiAt YWRkKCkKPiAtewo+IC0gICAgYXR0YWNoCj4gLSAgICB3cml0ZV9kZXYgJGRldgo+IC19Cj4gLQo+ IC0jIERpc2Nvbm5lY3RzIHRoZSBkZXZpY2UKPiAtcmVtb3ZlKCkKPiAtewo+IC0gICAgZmluZF9k ZXZpY2UKPiAtICAgIGRvX29yX2RpZSBpc2NzaWFkbSAtbSBub2RlIC0tdGFyZ2V0bmFtZSAiJGlx biIgLXAgIiRwb3J0YWwiIC0tbG9nb3V0ID4gL2Rldi9udWxsCj4gLX0KPiAtCj4gIGNvbW1hbmQ9 JDEKPiAgdGFyZ2V0PSQoeGVuc3RvcmUtcmVhZCAkWEVOQlVTX1BBVEgvcGFyYW1zIHx8IHRydWUp Cj4gIGlmIFsgLXogIiR0YXJnZXQiIF07IHRoZW4KPiBAQCAtMTM4LDE1ICsxMDAsMjEgQEAKPiAK PiAgcGFyc2VfdGFyZ2V0ICIkdGFyZ2V0Igo+IAo+IC1jaGVja190b29scyB8fCBleGl0IDEKPiAt Cj4gIGNhc2UgJGNvbW1hbmQgaW4KPiAgYWRkKQo+IC0gICAgcHJlcGFyZQo+IC0gICAgYWRkCj4g KyAgICAjIENoZWNrIGlmIHRhcmdldCBpcyBhbHJlYWR5IG9wZW5lZAo+ICsgICAgaXNjc2lhZG0g LW0gc2Vzc2lvbiAyPiYxIHwgZ3JlcCAtcSAiJGlxbiIgJiYgZmF0YWwgIkRldmljZSBhbHJlYWR5 IG9wZW5lZCIKPiArICAgICMgRGlzY292ZXIgcG9ydGFsIHRhcmdldHMKPiArICAgIGlzY3NpYWRt IC1tIGRpc2NvdmVyeSAtdCBzdCAtcCAkcG9ydGFsIDI+JjEgfCBncmVwIC1xICIkaXFuIiB8fCBc Cj4gKyAgICAgICAgZmF0YWwgIk5vIG1hdGNoaW5nIHRhcmdldCBpcW4gZm91bmQiCj4gKwo+ICsg ICAgIyMgTG9naW4gdG8gdGhlIGlTQ1NJIHRhcmdldC4KPiArICAgIGRvX29yX2RpZSBpc2NzaWFk bSAtbSBub2RlIC0tdGFyZ2V0bmFtZSAiJGlxbiIgLXAgIiRwb3J0YWwiIC0tbG9naW4gPiAvZGV2 L251bGwKPiArCj4gKyAgICB3cml0ZV9kZXYgJGRldgo+ICAgICAgOzsKPiAgcmVtb3ZlKQo+IC0g ICAgcmVtb3ZlCj4gKyAgICBkb19vcl9kaWUgaXNjc2lhZG0gLW0gbm9kZSAtLXRhcmdldG5hbWUg IiRpcW4iIC1wICIkcG9ydGFsIiAtLWxvZ291dCA+IC9kZXYvbnVsbAo+ICAgICAgOzsKPiAgKikK PiAgICAgIGV4aXQgMSAKCj4gLS0tIGJsb2NrLWlzY3NpLm9yaWcgMjAxNi0wNS0wOSAxNToxNjoz NS40NDc0ODA1MzIgKzEwMDAKPiArKysgYmxvY2staXNjc2kgICAgMjAxNi0wNS0wNSAxNTo0Mzo1 OC4yMjIxNTkzNTEgKzEwMDAKPiBAQCAtMzcsOCArMzcsNyBAQAo+ICB7Cj4gICAgICAjIHNldCBt dWx0aXBhdGggZGVmYXVsdCB2YWx1ZQo+ICAgICAgbXVsdGlwYXRoPSJuIgo+IC0gICAgZm9yIHBh cmFtIGluICQoZWNobyAiJDEiIHwgdHIgIiwiICJcbiIpCj4gLSAgICBkbwo+ICsgICAgZm9yIHBh cmFtIGluICQoZWNobyAiJDEiIHwgdHIgIiwiICJcbiIpOyBkbwo+ICAgICAgICAgIGNhc2UgJHBh cmFtIGluCj4gICAgICAgICAgaXFuPSopCj4gICAgICAgICAgICAgIGlxbj0kKHJlbW92ZV9sYWJl bCAkcGFyYW0gImlxbj0iKQo+IEBAIC01NSw2ICs1NCwxNSBAQAo+ICAgICAgICAgICAgICAgICAg ZmF0YWwgIk11bHRpcGF0aCBzZWxlY3RlZCwgYnV0IG5vIG11bHRpcGF0aCB0b29scyBmb3VuZCIK PiAgICAgICAgICAgICAgZmkKPiAgICAgICAgICAgICAgOzsKPiArICAgICAgICBsb2NrdGFyZ2V0 PSopCj4gKyAgICAgICAgICAgIGxvY2t0YXJnZXQ9JChyZW1vdmVfbGFiZWwgJHBhcmFtICJsb2Nr dGFyZ2V0PSIpCj4gKyAgICAgICAgICAgIGlmICEgY29tbWFuZCAtdiBzZ19wZXJzaXN0ID4gL2Rl di9udWxsIDI+JjE7IHRoZW4KPiArICAgICAgICAgICAgICAgIGZhdGFsICJMb2NraW5nIHJlcXVl c3RlZCBidXQgbm8gc2dfcGVyc2lzdCBmb3VuZCIKPiArICAgICAgICAgICAgZmkKPiArICAgICAg ICAgICAgaWYgISBjb21tYW5kIC12IGdldGhvc3RpcCA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuCj4g KyAgICAgICAgICAgICAgICBmYXRhbCAiTG9ja2luZyByZXF1ZXN0ZWQgYnV0IG5vIGdldGhvc3Rp cCBmb3VuZCBmb3Iga2V5IGdlbmVyYXRpb24iCj4gKyAgICAgICAgICAgIGZpCj4gKyAgICAgICAg ICAgIDs7Cj4gICAgICAgICAgZXNhYwo+ICAgICAgZG9uZQo+ICAgICAgaWYgWyAteiAiJGlxbiIg XSB8fCBbIC16ICIkcG9ydGFsIiBdOyB0aGVuCj4gQEAgLTkyLDYgKzEwMCwzMSBAQAo+ICAgICAg ZmkKPiAgfQo+IAo+ICsKPiArbG9ja19kZXZpY2UoKQo+ICt7Cj4gKyAgICAjIyBMb2NrIHRoZSBp U0NTSSB0YXJnZXQgYXMgRXhjbHVzaXZlIEFjY2Vzcy4KPiArICAgIGtleT0kKGdldGhvc3RpcCAt eCAkKHVuYW1lIC1uKSkKPiArICAgIGlmICEgc2dfcGVyc2lzdCAtZCAke2Rldn0gLW8gLUcgLVMg JHtrZXl9ID4gL2Rldi9udWxsOyB0aGVuCj4gKyAgICAgICAgdW5sb2NrX2RldmljZQo+ICsgICAg ICAgIGlzY3NpYWRtIC1tIG5vZGUgLS10YXJnZXRuYW1lICIkaXFuIiAtcCAiJHBvcnRhbCIgLS1s b2dvdXQgPiAvZGV2L251bGwKPiArICAgICAgICBmYXRhbCAiaVNDU0kgTE9DSzogRmFpbGVkIHRv IHJlZ2lzdGVyIHdpdGggdGFyZ2V0Igo+ICsgICAgZmkKPiArICAgIGlmICEgc2dfcGVyc2lzdCAt ZCAke2Rldn0gLW8gLVIgLUsgJHtrZXl9IC1UIDYgPiAvZGV2L251bGw7IHRoZW4KPiArICAgICAg ICB1bmxvY2tfZGV2aWNlCj4gKyAgICAgICAgaXNjc2lhZG0gLW0gbm9kZSAtLXRhcmdldG5hbWUg IiRpcW4iIC1wICIkcG9ydGFsIiAtLWxvZ291dCA+IC9kZXYvbnVsbAo+ICsgICAgICAgIGZhdGFs ICJpU0NTSSBMT0NLOiBGYWlsZWQgdG8gc2V0IHBlcnNpc3RlbnQgcmVzZXJ2YXRpb24iCj4gKyAg ICBmaQo+ICt9Cj4gKwo+ICt1bmxvY2tfZGV2aWNlKCkKPiArewo+ICsgICAgIyMgVW5sb2NrIHRo ZSBpU0NTSSB0YXJnZXQuCj4gKyAgICBrZXk9JChnZXRob3N0aXAgLXggJCh1bmFtZSAtbikpCj4g KyAgICBzZ19wZXJzaXN0IC1kICR7ZGV2fSAtbyAtTCAtSyAke2tleX0gLVQgNiA+IC9kZXYvbnVs bCB8fCB0cnVlCj4gKyAgICBzZ19wZXJzaXN0IC1kICR7ZGV2fSAtbyAtRyAtSyAke2tleX0gLVMg MCA+IC9kZXYvbnVsbCB8fCB0cnVlCj4gK30KPiArCj4gIGNvbW1hbmQ9JDEKPiAgdGFyZ2V0PSQo eGVuc3RvcmUtcmVhZCAkWEVOQlVTX1BBVEgvcGFyYW1zIHx8IHRydWUpCj4gIGlmIFsgLXogIiR0 YXJnZXQiIF07IHRoZW4KPiBAQCAtMTEwLDEwICsxNDMsMTcgQEAKPiAKPiAgICAgICMjIExvZ2lu IHRvIHRoZSBpU0NTSSB0YXJnZXQuCj4gICAgICBkb19vcl9kaWUgaXNjc2lhZG0gLW0gbm9kZSAt LXRhcmdldG5hbWUgIiRpcW4iIC1wICIkcG9ydGFsIiAtLWxvZ2luID4gL2Rldi9udWxsCj4gLQo+ ICsgICAgZmluZF9kZXZpY2UKPiArICAgIGlmIFsgIiRsb2NrdGFyZ2V0IiA9ICJ5IiBdOyB0aGVu Cj4gKyAgICAgICAgbG9ja19kZXZpY2UKPiArICAgIGZpCj4gICAgICB3cml0ZV9kZXYgJGRldgo+ ICAgICAgOzsKPiAgcmVtb3ZlKQo+ICsgICAgZmluZF9kZXZpY2UKPiArICAgIGlmIFsgIiRsb2Nr dGFyZ2V0IiA9ICJ5IiBdOyB0aGVuCj4gKyAgICAgICAgdW5sb2NrX2RldmljZQo+ICsgICAgZmkK PiAgICAgIGRvX29yX2RpZSBpc2NzaWFkbSAtbSBub2RlIC0tdGFyZ2V0bmFtZSAiJGlxbiIgLXAg IiRwb3J0YWwiIC0tbG9nb3V0ID4gL2Rldi9udWxsCj4gICAgICA7Owo+ICAqKSAKCj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBYZW4tZGV2ZWwgbWFp bGluZyBsaXN0Cj4gWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKPiBodHRwOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=