From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AB71AC433ED for ; Tue, 27 Apr 2021 20:04:32 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7CECC60D07 for ; Tue, 27 Apr 2021 20:04:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235440AbhD0UFP (ORCPT ); Tue, 27 Apr 2021 16:05:15 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:55577 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235401AbhD0UFP (ORCPT ); Tue, 27 Apr 2021 16:05:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1619553870; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=sm6mfrcPte0e2h6omJKanp5SwpxGDEqt9+wsu9nzYNU=; b=JnJbbWKn0CeJ5gEyogaD+fkwGG8W5Pth3GCB8bxCEuLi/5XihliQCuqmuxZHok88xjw8OY DcoyBPeWnjNPCjH/yWOCXOPJEwxGlvgw8I2UKevk9nLmmYvPds7UrfBv09OGNH5W8FNOZZ SPoh9z1PbdUmmMOuW5g4X4tKIDi/h/Q= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-2-_Q8N7muQNNmN1uw6x5zcDQ-1; Tue, 27 Apr 2021 16:04:26 -0400 X-MC-Unique: _Q8N7muQNNmN1uw6x5zcDQ-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 278A079ECA; Tue, 27 Apr 2021 20:04:25 +0000 (UTC) Received: from ovpn-112-203.phx2.redhat.com (ovpn-112-203.phx2.redhat.com [10.3.112.203]) by smtp.corp.redhat.com (Postfix) with ESMTP id 976175C3F8; Tue, 27 Apr 2021 20:04:20 +0000 (UTC) Message-ID: <731ece1c29243937c52ecdb1a3823d4fccd17bd1.camel@redhat.com> Subject: Re: Antw: [EXT] Re: [dm-devel] RFC: one more time: SCSI device identification From: "Ewan D. Milne" To: Ulrich Windl , erwin@erwinvanlonden.net, martin.petersen@oracle.com, martin.wilck@suse.com, hare@suse.de Cc: dgilbert@interlog.com, jejb@linux.vnet.ibm.com, "systemd-devel@lists.freedesktop.org" , hch@lst.de, dm-devel@redhat.com, hare@suse.com, linux-scsi@vger.kernel.org Date: Tue, 27 Apr 2021 16:04:19 -0400 In-Reply-To: <6087ECF1020000A100040C7F@gwsmtp.uni-regensburg.de> References: <06489ea37311fe7bf73b27a41b5209ee4cca85fe.camel@suse.com> <685c40341d2ddef2fe5a54dd656d10104b0c1bfa.camel@suse.com> <6086A0B2020000A100040BBE@gwsmtp.uni-regensburg.de> <59dc346de26997a6b8e3ae3d86d84ada60b3d26b.camel@suse.com> <15e1a6a493f55051eab844bab2a107f783dc27ee.camel@suse.com> <2a6903e4-ff2b-67d5-e772-6971db8448fb@suse.de> <6087ECF1020000A100040C7F@gwsmtp.uni-regensburg.de> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org On Tue, 2021-04-27 at 12:52 +0200, Ulrich Windl wrote: > > > > Hannes Reinecke schrieb am 27.04.2021 um 10:21 > > > > in Nachricht > > <2a6903e4-ff2b-67d5-e772-6971db8448fb@suse.de>: > > On 4/27/21 10:10 AM, Martin Wilck wrote: > > > On Tue, 2021‑04‑27 at 13:48 +1000, Erwin van Londen wrote: > > > > > > > > > > Wrt 1), we can only hope that it's the case. But 2) and 3) > > > > > need work, > > > > > afaics. > > > > > > > > > > > > > In my view the WWID should never change. > > > > > > In an ideal world, perhaps not. But in the dm‑multipath realm, we > > > know > > > that WWID changes can happen with certain storage arrays. See > > > https://listman.redhat.com/archives/dm‑devel/2021‑February/msg00116.html > > > > > > and follow‑ups, for example. > > > > > > > And it's actually something which might happen quite easily. > > The storage array can unmap a LUN, delete it, create a new one, and > > map > > that one into the same LUN number than the old one. > > If we didn't do I/O during that interval upon the next I/O we will > > be > > getting the dreaded 'Power‑On/Reset' sense code. > > _And nothing else_, due to the arcane rules for sense code > > generation in > > SAM. > > But we end up with a completely different device. > > > > The only way out of it is to do a rescan for every POR sense code, > > and > > disable the device eg via DID_NO_CONNECT whenever we find that the > > identification has changed. We already have a copy of the original > > VPD > > page 0x83 at hand, so that should be reasonably easy. > > I don't know the depth of the SCSI or FC protocol, but storage > systems > typically signal such events, maybe either via some unit attention or > some FC > event. Older kernels logged that there was a change, but a manual > SCSI bus scan > is needed, while newer kernels find new devices "automagically" for > some > products. The HP EVA 6000 series wored that way, a 3PAR SotorServ > 8000 series > also seems to work that way, but not Pure Storage X70 R3. FOr the > latter you > need something like a FC LIP to make the kernel detect the new > devices (LUNs). > I'm unsure where the problem is, but in principle the kernel can be > notified... There has to be some command on which the Unit Attention status can be returned. (In a multipath configuration, the path checker commands may do this). In absence of a command, there is no asynchronous mechanism in SCSI to report the status. On FC things related to finding a remote port will trigger a rescan. -Ewan > > > > > I had a rather lengthy discussion with Fred Knight @ NetApp about > > Power‑On/Reset handling, what with him complaining that we don't > > handle > > is correctly. So this really is something we should be looking > > into, > > even independently of multipathing. > > > > But actually I like the idea from Martin Petersen to expose the > > parsed > > VPD identifiers to sysfs; that would allow us to drop sg_inq > > completely > > from the udev rules. > > Talking of VPDs: Somewhere in the last 12 years (within SLES 11)there > was a > kernel change regarding trailing blanks in VPD data. That change blew > up > several configurations being unable to re-recognize the devices. In > one case > the software even had bound a license to a specific device with > serial number, > and that software found "new" devices while missing the "old" ones... > > Regards, > Ulrich > > > > > Cheers, > > > > Hannes > > ‑‑ > > Dr. Hannes Reinecke Kernel Storage Architect > > hare@suse.de +49 911 74053 > > 688 > > SUSE Software Solutions Germany GmbH, 90409 Nürnberg > > GF: F. Imendörffer, HRB 36809 (AG Nürnberg) > > > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5D6ECC433ED for ; Tue, 27 Apr 2021 20:04:44 +0000 (UTC) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id BADC1613EF for ; Tue, 27 Apr 2021 20:04:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BADC1613EF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=tempfail smtp.mailfrom=dm-devel-bounces@redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1619553882; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=4iGglZ2vuSW8pj0QdtehrptoOLwjXEfdVChc0do/z9E=; b=ZsTzG/lkhKIEMhGnNsZt3+1PYR0rfymCtHgYdVusCS7wIQ4v/R3hTyht0j3AOtSHva9jr7 UhbL6AjBVneIiJNbC8CfhNxET+gB7/lps/i6lse2ckRT570YpySrTtC8TOf3Urr4Gskdku 9L0Bo2tJfMjTmixk9eLAdqy4AhfO5uQ= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-88-TtAdushkMsyYqwS1mxPdmg-1; Tue, 27 Apr 2021 16:04:39 -0400 X-MC-Unique: TtAdushkMsyYqwS1mxPdmg-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D6EAD80DDE2; Tue, 27 Apr 2021 20:04:34 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 224E45D769; Tue, 27 Apr 2021 20:04:33 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 6652C44A58; Tue, 27 Apr 2021 20:04:28 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 13RK4PLM028012 for ; Tue, 27 Apr 2021 16:04:25 -0400 Received: by smtp.corp.redhat.com (Postfix) id 25F215C260; Tue, 27 Apr 2021 20:04:25 +0000 (UTC) Received: from ovpn-112-203.phx2.redhat.com (ovpn-112-203.phx2.redhat.com [10.3.112.203]) by smtp.corp.redhat.com (Postfix) with ESMTP id 976175C3F8; Tue, 27 Apr 2021 20:04:20 +0000 (UTC) Message-ID: <731ece1c29243937c52ecdb1a3823d4fccd17bd1.camel@redhat.com> From: "Ewan D. Milne" To: Ulrich Windl , erwin@erwinvanlonden.net, martin.petersen@oracle.com, martin.wilck@suse.com, hare@suse.de Date: Tue, 27 Apr 2021 16:04:19 -0400 In-Reply-To: <6087ECF1020000A100040C7F@gwsmtp.uni-regensburg.de> References: <06489ea37311fe7bf73b27a41b5209ee4cca85fe.camel@suse.com> <685c40341d2ddef2fe5a54dd656d10104b0c1bfa.camel@suse.com> <6086A0B2020000A100040BBE@gwsmtp.uni-regensburg.de> <59dc346de26997a6b8e3ae3d86d84ada60b3d26b.camel@suse.com> <15e1a6a493f55051eab844bab2a107f783dc27ee.camel@suse.com> <2a6903e4-ff2b-67d5-e772-6971db8448fb@suse.de> <6087ECF1020000A100040C7F@gwsmtp.uni-regensburg.de> Mime-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: dm-devel@redhat.com Cc: hare@suse.com, "systemd-devel@lists.freedesktop.org" , linux-scsi@vger.kernel.org, dm-devel@redhat.com, dgilbert@interlog.com, jejb@linux.vnet.ibm.com, hch@lst.de Subject: Re: [dm-devel] Antw: [EXT] Re: RFC: one more time: SCSI device identification X-BeenThere: dm-devel@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: device-mapper development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dm-devel-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T24gVHVlLCAyMDIxLTA0LTI3IGF0IDEyOjUyICswMjAwLCBVbHJpY2ggV2luZGwgd3JvdGU6Cj4g PiA+ID4gSGFubmVzIFJlaW5lY2tlIDxoYXJlQHN1c2UuZGU+IHNjaHJpZWIgYW0gMjcuMDQuMjAy MSB1bSAxMDoyMQo+ID4gPiA+IGluIE5hY2hyaWNodAo+IAo+IDwyYTY5MDNlNC1mZjJiLTY3ZDUt ZTc3Mi02OTcxZGI4NDQ4ZmJAc3VzZS5kZT46Cj4gPiBPbiA0LzI3LzIxIDEwOjEwIEFNLCBNYXJ0 aW4gV2lsY2sgd3JvdGU6Cj4gPiA+IE9uIFR1ZSwgMjAyMeKAkTA04oCRMjcgYXQgMTM6NDggKzEw MDAsIEVyd2luIHZhbiBMb25kZW4gd3JvdGU6Cj4gPiA+ID4gPiAKPiA+ID4gPiA+IFdydCAxKSwg d2UgY2FuIG9ubHkgaG9wZSB0aGF0IGl0J3MgdGhlIGNhc2UuIEJ1dCAyKSBhbmQgMykKPiA+ID4g PiA+IG5lZWQgd29yaywKPiA+ID4gPiA+IGFmYWljcy4KPiA+ID4gPiA+IAo+ID4gPiA+IAo+ID4g PiA+IEluIG15IHZpZXcgdGhlIFdXSUQgc2hvdWxkIG5ldmVyIGNoYW5nZS4gCj4gPiA+IAo+ID4g PiBJbiBhbiBpZGVhbCB3b3JsZCwgcGVyaGFwcyBub3QuIEJ1dCBpbiB0aGUgZG3igJFtdWx0aXBh dGggcmVhbG0sIHdlCj4gPiA+IGtub3cKPiA+ID4gdGhhdCBXV0lEIGNoYW5nZXMgY2FuIGhhcHBl biB3aXRoIGNlcnRhaW4gc3RvcmFnZSBhcnJheXMuIFNlZSAKPiA+ID4gCmh0dHBzOi8vbGlzdG1h bi5yZWRoYXQuY29tL2FyY2hpdmVzL2Rt4oCRZGV2ZWwvMjAyMeKAkUZlYnJ1YXJ5L21zZzAwMTE2 Lmh0bWwKPiA+ID4gIAo+ID4gPiBhbmQgZm9sbG934oCRdXBzLCBmb3IgZXhhbXBsZS4KPiA+ID4g Cj4gPiAKPiA+IEFuZCBpdCdzIGFjdHVhbGx5IHNvbWV0aGluZyB3aGljaCBtaWdodCBoYXBwZW4g cXVpdGUgZWFzaWx5Lgo+ID4gVGhlIHN0b3JhZ2UgYXJyYXkgY2FuIHVubWFwIGEgTFVOLCBkZWxl dGUgaXQsIGNyZWF0ZSBhIG5ldyBvbmUsIGFuZAo+ID4gbWFwCj4gPiB0aGF0IG9uZSBpbnRvIHRo ZSBzYW1lIExVTiBudW1iZXIgdGhhbiB0aGUgb2xkIG9uZS4KPiA+IElmIHdlIGRpZG4ndCBkbyBJ L08gZHVyaW5nIHRoYXQgaW50ZXJ2YWwgdXBvbiB0aGUgbmV4dCBJL08gd2Ugd2lsbAo+ID4gYmUK PiA+IGdldHRpbmcgdGhlIGRyZWFkZWQgJ1Bvd2Vy4oCRT24vUmVzZXQnIHNlbnNlIGNvZGUuCj4g PiBfQW5kIG5vdGhpbmcgZWxzZV8sIGR1ZSB0byB0aGUgYXJjYW5lIHJ1bGVzIGZvciBzZW5zZSBj b2RlCj4gPiBnZW5lcmF0aW9uIGluCj4gPiBTQU0uCj4gPiBCdXQgd2UgZW5kIHVwIHdpdGggYSBj b21wbGV0ZWx5IGRpZmZlcmVudCBkZXZpY2UuCj4gPiAKPiA+IFRoZSBvbmx5IHdheSBvdXQgb2Yg aXQgaXMgdG8gZG8gYSByZXNjYW4gZm9yIGV2ZXJ5IFBPUiBzZW5zZSBjb2RlLAo+ID4gYW5kCj4g PiBkaXNhYmxlIHRoZSBkZXZpY2UgZWcgdmlhIERJRF9OT19DT05ORUNUIHdoZW5ldmVyIHdlIGZp bmQgdGhhdCB0aGUKPiA+IGlkZW50aWZpY2F0aW9uIGhhcyBjaGFuZ2VkLiBXZSBhbHJlYWR5IGhh dmUgYSBjb3B5IG9mIHRoZSBvcmlnaW5hbAo+ID4gVlBECj4gPiBwYWdlIDB4ODMgYXQgaGFuZCwg c28gdGhhdCBzaG91bGQgYmUgcmVhc29uYWJseSBlYXN5Lgo+IAo+IEkgZG9uJ3Qga25vdyB0aGUg ZGVwdGggb2YgdGhlIFNDU0kgb3IgRkMgcHJvdG9jb2wsIGJ1dCBzdG9yYWdlCj4gc3lzdGVtcwo+ IHR5cGljYWxseSBzaWduYWwgc3VjaCBldmVudHMsIG1heWJlIGVpdGhlciB2aWEgc29tZSB1bml0 IGF0dGVudGlvbiBvcgo+IHNvbWUgRkMKPiBldmVudC4gT2xkZXIga2VybmVscyBsb2dnZWQgdGhh dCB0aGVyZSB3YXMgYSBjaGFuZ2UsIGJ1dCBhIG1hbnVhbAo+IFNDU0kgYnVzIHNjYW4KPiBpcyBu ZWVkZWQsIHdoaWxlIG5ld2VyIGtlcm5lbHMgZmluZCBuZXcgZGV2aWNlcyAiYXV0b21hZ2ljYWxs eSIgZm9yCj4gc29tZQo+IHByb2R1Y3RzLiBUaGUgSFAgRVZBIDYwMDAgc2VyaWVzIHdvcmVkIHRo YXQgd2F5LCBhIDNQQVIgU290b3JTZXJ2Cj4gODAwMCBzZXJpZXMKPiBhbHNvIHNlZW1zIHRvIHdv cmsgdGhhdCB3YXksIGJ1dCBub3QgUHVyZSBTdG9yYWdlIFg3MCBSMy4gRk9yIHRoZQo+IGxhdHRl ciB5b3UKPiBuZWVkIHNvbWV0aGluZyBsaWtlIGEgRkMgTElQIHRvIG1ha2UgdGhlIGtlcm5lbCBk ZXRlY3QgdGhlIG5ldwo+IGRldmljZXMgKExVTnMpLgo+IEknbSB1bnN1cmUgd2hlcmUgdGhlIHBy b2JsZW0gaXMsIGJ1dCBpbiBwcmluY2lwbGUgdGhlIGtlcm5lbCBjYW4gYmUKPiBub3RpZmllZC4u LgoKVGhlcmUgaGFzIHRvIGJlIHNvbWUgY29tbWFuZCBvbiB3aGljaCB0aGUgVW5pdCBBdHRlbnRp b24gc3RhdHVzCmNhbiBiZSByZXR1cm5lZC4gIChJbiBhIG11bHRpcGF0aCBjb25maWd1cmF0aW9u LCB0aGUgcGF0aCBjaGVja2VyCmNvbW1hbmRzIG1heSBkbyB0aGlzKS4gIEluIGFic2VuY2Ugb2Yg YSBjb21tYW5kLCB0aGVyZSBpcyBubwphc3luY2hyb25vdXMgbWVjaGFuaXNtIGluIFNDU0kgdG8g cmVwb3J0IHRoZSBzdGF0dXMuCgpPbiBGQyB0aGluZ3MgcmVsYXRlZCB0byBmaW5kaW5nIGEgcmVt b3RlIHBvcnQgd2lsbCB0cmlnZ2VyIGEgcmVzY2FuLgoKLUV3YW4KCj4gCj4gPiAKPiA+IEkgaGFk IGEgcmF0aGVyIGxlbmd0aHkgZGlzY3Vzc2lvbiB3aXRoIEZyZWQgS25pZ2h0IEAgTmV0QXBwIGFi b3V0Cj4gPiBQb3dlcuKAkU9uL1Jlc2V0IGhhbmRsaW5nLCB3aGF0IHdpdGggaGltIGNvbXBsYWlu aW5nIHRoYXQgd2UgZG9uJ3QKPiA+IGhhbmRsZQo+ID4gaXMgY29ycmVjdGx5LiBTbyB0aGlzIHJl YWxseSBpcyBzb21ldGhpbmcgd2Ugc2hvdWxkIGJlIGxvb2tpbmcKPiA+IGludG8sCj4gPiBldmVu IGluZGVwZW5kZW50bHkgb2YgbXVsdGlwYXRoaW5nLgo+ID4gCj4gPiBCdXQgYWN0dWFsbHkgSSBs aWtlIHRoZSBpZGVhIGZyb20gTWFydGluIFBldGVyc2VuIHRvIGV4cG9zZSB0aGUKPiA+IHBhcnNl ZAo+ID4gVlBEIGlkZW50aWZpZXJzIHRvIHN5c2ZzOyB0aGF0IHdvdWxkIGFsbG93IHVzIHRvIGRy b3Agc2dfaW5xCj4gPiBjb21wbGV0ZWx5Cj4gPiBmcm9tIHRoZSB1ZGV2IHJ1bGVzLgo+IAo+IFRh bGtpbmcgb2YgVlBEczogU29tZXdoZXJlIGluIHRoZSBsYXN0IDEyIHllYXJzICh3aXRoaW4gU0xF UyAxMSl0aGVyZQo+IHdhcyBhCj4ga2VybmVsIGNoYW5nZSByZWdhcmRpbmcgdHJhaWxpbmcgYmxh bmtzIGluIFZQRCBkYXRhLiBUaGF0IGNoYW5nZSBibGV3Cj4gdXAKPiBzZXZlcmFsIGNvbmZpZ3Vy YXRpb25zIGJlaW5nIHVuYWJsZSB0byByZS1yZWNvZ25pemUgdGhlIGRldmljZXMuIEluCj4gb25l IGNhc2UKPiB0aGUgc29mdHdhcmUgZXZlbiBoYWQgYm91bmQgYSBsaWNlbnNlIHRvIGEgc3BlY2lm aWMgZGV2aWNlIHdpdGgKPiBzZXJpYWwgbnVtYmVyLAo+IGFuZCB0aGF0IHNvZnR3YXJlIGZvdW5k ICJuZXciIGRldmljZXMgd2hpbGUgbWlzc2luZyB0aGUgIm9sZCIgb25lcy4uLgo+IAo+IFJlZ2Fy ZHMsCj4gVWxyaWNoCj4gCj4gPiAKPiA+IENoZWVycywKPiA+IAo+ID4gSGFubmVzCj4gPiDigJHi gJEgCj4gPiBEci4gSGFubmVzIFJlaW5lY2tlCQkgICAgICAgIEtlcm5lbCBTdG9yYWdlIEFyY2hp dGVjdAo+ID4gaGFyZUBzdXNlLmRlCQkJICAgICAgICAgICAgICAgKzQ5IDkxMSA3NDA1Mwo+ID4g Njg4Cj4gPiBTVVNFIFNvZnR3YXJlIFNvbHV0aW9ucyBHZXJtYW55IEdtYkgsIDkwNDA5IE7DvHJu YmVyZwo+ID4gR0Y6IEYuIEltZW5kw7ZyZmZlciwgSFJCIDM2ODA5IChBRyBOw7xybmJlcmcpCj4g Cj4gCj4gCgotLQpkbS1kZXZlbCBtYWlsaW5nIGxpc3QKZG0tZGV2ZWxAcmVkaGF0LmNvbQpodHRw czovL2xpc3RtYW4ucmVkaGF0LmNvbS9tYWlsbWFuL2xpc3RpbmZvL2RtLWRldmVs