From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:35533) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gmH6K-0000JH-Ao for qemu-devel@nongnu.org; Wed, 23 Jan 2019 06:53:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gmH6I-0008Qa-PI for qemu-devel@nongnu.org; Wed, 23 Jan 2019 06:53:48 -0500 From: Vladimir Sementsov-Ogievskiy Date: Wed, 23 Jan 2019 11:53:38 +0000 Message-ID: <4474e54a-1c60-a04b-e404-ad8e570edc1d@virtuozzo.com> References: <20190110132048.49451-1-vsementsov@virtuozzo.com> <20190111104126.GC5010@dhcp-200-186.str.redhat.com> <20190122185740.GC5220@localhost.localdomain> In-Reply-To: <20190122185740.GC5220@localhost.localdomain> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: <05C4F1E52840E2478D4D220482E47A7F@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] block: don't probe zeroes in bs->file by default on block_status List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: "qemu-devel@nongnu.org" , "qemu-block@nongnu.org" , "armbru@redhat.com" , "eblake@redhat.com" , "fam@euphon.net" , "stefanha@redhat.com" , "mreitz@redhat.com" , "pbonzini@redhat.com" , Denis Lunev MjIuMDEuMjAxOSAyMTo1NywgS2V2aW4gV29sZiB3cm90ZToNCj4gQW0gMTEuMDEuMjAxOSB1bSAx Mjo0MCBoYXQgVmxhZGltaXIgU2VtZW50c292LU9naWV2c2tpeSBnZXNjaHJpZWJlbjoNCj4+IDEx LjAxLjIwMTkgMTM6NDEsIEtldmluIFdvbGYgd3JvdGU6DQo+Pj4gQW0gMTAuMDEuMjAxOSB1bSAx NDoyMCBoYXQgVmxhZGltaXIgU2VtZW50c292LU9naWV2c2tpeSBnZXNjaHJpZWJlbjoNCj4+Pj4g ZHJ2X2NvX2Jsb2NrX3N0YXR1cyBkaWdzIGJzLT5maWxlIGZvciBhZGRpdGlvbmFsLCBtb3JlIGFj Y3VyYXRlIHNlYXJjaA0KPj4+PiBmb3IgaG9sZSBpbnNpZGUgcmVnaW9uLCByZXBvcnRlZCBhcyBE QVRBIGJ5IGJzIHNpbmNlIDVkYWE3NGE2ZWJjLg0KPj4+Pg0KPj4+PiBUaGlzIGFjY3VyYWN5IGlz IG5vdCBmcmVlOiBhc3N1bWUgd2UgaGF2ZSBxY293MiBkaXNrLiBBY3R1YWxseSwgcWNvdzINCj4+ Pj4ga25vd3MsIHdoZXJlIGFyZSBob2xlcyBhbmQgd2hlcmUgaXMgZGF0YS4gQnV0IGV2ZXJ5IGJs b2NrX3N0YXR1cw0KPj4+PiByZXF1ZXN0IGNhbGxzIGxzZWVrIGFkZGl0aW9uYWxseS4gQXNzdW1l IGEgYmlnIGRpc2ssIGZ1bGwgb2YNCj4+Pj4gZGF0YSwgaW4gYW55IGl0ZXJhdGl2ZSBjb3B5aW5n IGJsb2NrIGpvYiAob3IgaW1nIGNvbnZlcnQpIHdlJ2xsIGNhbGwNCj4+Pj4gbHNlZWsoSE9MRSkg b24gZXZlcnkgaXRlcmF0aW9uLCBhbmQgZWFjaCBvZiB0aGVzZSBsc2Vla3Mgd2lsbCBoYXZlIHRv DQo+Pj4+IGl0ZXJhdGUgdGhyb3VnaCBhbGwgbWV0YWRhdGEgdXAgdG8gdGhlIGVuZCBvZiBmaWxl LiBJdCdzIG9idmlvdXNseQ0KPj4+PiBpbmVmZmVjdGl2ZSBiZWhhdmlvci4gQW5kIGZvciBtYW55 IHNjZW5hcmlvcyB3ZSBkb24ndCBuZWVkIHRoaXMgbHNlZWsNCj4+Pj4gYXQgYWxsLg0KPj4+Pg0K Pj4+PiBTbywgbGV0J3MgIjVkYWE3NGE2ZWJjIiBieSBkZWZhdWx0LCBsZWF2aW5nIGFuIG9wdGlv biB0byByZXR1cm4NCj4+Pj4gcHJldmlvdXMgYmVoYXZpb3IsIHdoaWNoIGlzIG5lZWRlZCBmb3Ig c2NlbmFyaW9zIHdpdGggcHJlYWxsb2NhdGVkDQo+Pj4+IGltYWdlcy4NCj4+Pj4NCj4+Pj4gQWRk IGlvdGVzdCBpbGx1c3RyYXRpbmcgbmV3IG9wdGlvbiBzZW1hbnRpY3MuDQo+Pj4+DQo+Pj4+IFNp Z25lZC1vZmYtYnk6IFZsYWRpbWlyIFNlbWVudHNvdi1PZ2lldnNraXkgPHZzZW1lbnRzb3ZAdmly dHVvenpvLmNvbT4NCj4+Pg0KPj4+IEkgc3RpbGwgdGhpbmsgdGhhdCBhbiBvcHRpb24gaXNuJ3Qg YSBnb29kIHNvbHV0aW9uIGFuZCB3ZSBzaG91bGQgdHJ5IHVzZQ0KPj4+IHNvbWUgaGV1cmlzdGlj cyBpbnN0ZWFkLg0KPj4NCj4+IERvIHlvdSB0aGluayB0aGF0IGhldXJpc3RpY3Mgd291bGQgYmUg YmV0dGVyIHRoYW4gZmFpciBjYWNoZSBmb3IgbHNlZWsgcmVzdWx0cz8NCj4gDQo+IEkganVzdCBw bGF5ZWQgYSBiaXQgd2l0aCB0aGlzIChxZW11LWltZyBjb252ZXJ0IG9ubHkpLCBhbmQgaG93IG11 Y2gNCj4gY2FjaGluZyBsc2VlaygpIHJlc3VsdHMgaGVscHMgZGVwZW5kcyBjb21wbGV0ZWx5IG9u IHRoZSBpbWFnZS4gQXMgaXQNCj4gaGFwcGVuZWQsIG15IHRlc3QgaW1hZ2Ugd2FzIHRoZSB3b3Jz dCBjYXNlIHdoZXJlIGNhY2hpbmcgZGlkbid0IGJ1eSB1cw0KPiBtdWNoLiBPYnZpb3VzbHksIEkg Y2FuIGp1c3QgYXMgZWFzaWx5IGNvbnN0cnVjdCBhbiBpbWFnZSB3aGVyZSBpdCBtYWtlcw0KPiBh IGh1Z2UgZGlmZmVyZW5jZS4gSSB0aGluayB0aGF0IG1vc3QgcmVhbC13b3JsZCBpbWFnZXMgc2hv dWxkIGJlIGFibGUgdG8NCj4gdGFrZSBnb29kIGFkdmFudGFnZSBvZiBpdCwgdGhvdWdoLCBhbmQg aXQgZG9lc24ndCBodXJ0LCBzbyBtYXliZSB0aGF0J3MNCj4gYSBmaXJzdCB0aGluZyB0aGF0IHdl IGNhbiBkbyBpbiBhbnkgY2FzZS4gSXQgbWlnaHQgbm90IGJlIHRoZSBjb21wbGV0ZQ0KPiBzb2x1 dGlvbiwgdGhvdWdoLg0KPiANCj4gTGV0IG1lIGV4cGxhaW4gbXkgdGVzdCBpbWFnZXM6IFRoZSBj YXNlIHdoZXJlIGFsbCBvZiB0aGlzIGFjdHVhbGx5DQo+IG1hdHRlcnMgZm9yIHFlbXUtaW1nIGNv bnZlcnQgaXMgZnJhZ21lbnRlZCBxY293MiBpbWFnZXMuIElmIHlvdXIgaW1hZ2UNCj4gaXNuJ3Qg ZnJhZ21lbnRlZCwgd2UgZG9uJ3QgZG8gbHNlZWsoKSBhIGxvdCBhbnl3YXkgYmVjYXVzZSBhIHNp bmdsZQ0KPiBiZHJ2X2Jsb2NrX3N0YXR1cygpIGNhbGwgYWxyZWFkeSBnaXZlcyB5b3UgdGhlIGlu Zm9ybWF0aW9uIGZvciB0aGUgd2hvbGUNCj4gaW1hZ2UuIFNvIEkgY29uc3RydWN0ZWQgYSBmcmFn bWVudGVkIGltYWdlLCBieSB3cml0aW5nIHRvIGl0IGJhY2t3YXJkczoNCj4gDQo+IC4vcWVtdS1p bWcgY3JlYXRlIC1mIHFjb3cyIC90bXAvdGVzdC5xY293MiAxRw0KPiBmb3IgaSBpbiAkKHNlcSAx NjM4NCAtMSAwKTsgZG8NCj4gICAgICBlY2hvICJ3cml0ZSAkKChpICogNjU1MzYpKSA2NGsiDQo+ IGRvbmUgfCAuL3FlbXUtaW8gL3RtcC90ZXN0LnFjb3cyDQo+IA0KPiBJdCdzIG5vdCByZWFsbHkg c3VycHJpc2luZyB0aGF0IGNhY2hpbmcgdGhlIGxzZWVrKCkgcmVzdWx0cyBkb2Vzbid0IGhlbHAN Cj4gbXVjaCB0aGVyZSBhcyB3ZSdyZSBtb3ZpbmcgYmFja3dhcmRzIGFuZCBsc2VlaygpIG9ubHkg cmV0dXJucyByZXN1bHRzDQo+IGFib3V0IHRoZSB0aGluZ3MgYWZ0ZXIgdGhlIGN1cnJlbnQgcG9z aXRpb24sIG5vdCBiZWZvcmUgdGhlIGN1cnJlbnQNCj4gcG9zaXRpb24uIFNvIHRoaXMgaXMgcHJv YmFibHkgdGhlIHdvcnN0IGNhc2UuDQo+IA0KPiBTbyBJIGNvbnN0cnVjdGVkIGEgc2Vjb25kIGlt YWdlLCB3aGljaCBpcyBmcmFnbWVudGVkLCB0b28sIGJ1dCBzdGFydHMgYXQNCj4gdGhlIGJlZ2lu bmluZyBvZiB0aGUgaW1hZ2UgZmlsZToNCj4gDQo+IC4vcWVtdS1pbWcgY3JlYXRlIC1mIHFjb3cy IC90bXAvdGVzdF9mb3J3YXJkLnFjb3cyIDFHDQo+IGZvciBpIGluICQoc2VxIDAgMiAxNjM4NCk7 IGRvDQo+ICAgICAgZWNobyAid3JpdGUgJCgoaSAqIDY1NTM2KSkgNjRrIg0KPiBkb25lIHwgLi9x ZW11LWlvIC90bXAvdGVzdF9mb3J3YXJkLnFjb3cyDQo+IGZvciBpIGluICQoc2VxIDEgMiAxNjM4 NCk7IGRvDQo+ICAgICAgZWNobyAid3JpdGUgJCgoaSAqIDY1NTM2KSkgNjRrIg0KPiBkb25lIHwg Li9xZW11LWlvIC90bXAvdGVzdF9mb3J3YXJkLnFjb3cyDQo+IA0KPiBIZXJlIGNhY2hpbmcgbWFr ZXMgYSBodWdlIGRpZmZlcmVuY2U6DQo+IA0KPiAgICAgIHRpbWUgLi9xZW11LWltZyBjb252ZXJ0 IC1wIC1uICRJTUcgbnVsbC1jbzovLw0KPiANCj4gICAgICAgICAgICAgICAgICAgICAgICAgIHVu Y2FjaGVkICAgICAgICBjYWNoZWQNCj4gICAgICB0ZXN0LnFjb3cyICAgICAgICAgICAgIH4xNDVz ICAgICAgICAgfjcwcw0KPiAgICAgIHRlc3RfZm9yd2FyZC5xY293MiAgICAgfjExMHMgICAgICAg IH4wLjJzDQoNClVuc3VyZSBhYm91dCB5b3VyIHJlc3VsdHMsIGF0IGxlYXN0IDAuMnMgbWVhbnMs IHRoYXQgd2UgYmVuZWZpdCBmcm9tIGNhY2hlZCByZWFkLCBub3QgbHNlZWsuDQoNCj0gbXkgcmVz dWx0cyA9DQoNCmluIHNob3J0Og0KDQp1bmNhY2hlZCByZWFkOg0KKy0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tKy0tLS0tLSstLS0tLS0rLS0tLS0tLS0rDQp8ICAgICAgICAgICAgICB8IG1hc3RlciB8 IHlvdSAgfCAgbWUgIHwgbWFzdGVyIHwNCistLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0r LS0tLS0tKy0tLS0tLS0tKw0KfCB0ZXN0ICAgICAgICAgfCAgIDMwLjQgfCAzMi42IHwgMzMuOSB8 ICAgMzIuNCB8DQp8IHRlc3RfZm9yd2FyZCB8ICAgMjguMyB8IDMzLjUgfCAzMi45IHwgICAzMi44 IHwNCistLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0rLS0tLS0tKy0tLS0tLS0tKw0KDQoo J3lvdScgaXMgeW91ciBwYXRjaCwgJ21lJyBpcyBteSBzaW1wbGUgcGF0Y2gsIHNlZSBiZWxvdykN Cg0KKEkgcmV0ZXN0ZWQgbWFzdGVyLCBhcyBmaXJzdCB0ZXN0IHJ1biBzZWVtZWQgbm90aWNlYWJs ZSBmYXN0ZXIgdGhhbiBwYXRjaGVkKQ0KU28sIE5vIHNpZ25pZmljYW50IGRpZmZlcmVuY2UgbWF5 IGJlIG5vdGljZWQgKGlmIGlnbm9yZSBmaXJzdCBydW46KS4gT3IgSSBuZWVkIGEgbG90IG1vcmUg dGVzdCBydW5zLA0KdG8gY2FsY3VsYXRlIHRoZSBhdmVyYWdlLg0KSG93ZXZlciwgSSBkb24ndCBl eHBlY3QgYW55IGRpZmZlcmVuY2UgaGVyZSwgSSdtIGFmcmFpZCB0aGF0IGxzZWVrKCkgdGltZSBi ZWNvbWVzIG5vdGljZWFibGUgaW4NCmNvbXBhcmlzb24gd2l0aCByZWFkKCkgZm9yIGEgbG90IGxh cmdlciBkaXNrcy4NCkFsc28sIHByb2JsZW1zIG9mIGxzZWVrIGFyZSBtb3N0bHkgcmVsYXRlZCB0 byBsc2VlayBidWdzLCBub3cgc2VlbXMgdGhhdCBteSBrZXJuZWwgaXMgbm90IGJ1Z2d5Li4NCldo YXQga2VybmVsIGFuZCBmcyBkbyB5b3UgdXNlIHRvIGdldCBzdWNoIGEgc2lnbmlmaWNhbnQgZGlm ZmVyZW5jZSBiZXR3ZWVuIGNhY2hlZC91bmNhY2hlZCBsc2Vlaz8NCg0KDQpPbiB0aGUgb3RoZXIg aGFuZCwgcmVzdWx0cyB3aXRoIGNhY2hlZCByZWFkIGFyZSBtb3JlIGludGVyZXN0aW5nOg0KDQor LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tKy0tLS0tLSstLS0tLS0tLSsNCnwgICAgICAg ICAgICAgIHwgbWFzdGVyIHwgeW91ICB8ICBtZSAgfCBtYXN0ZXIgfA0KKy0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLSstLS0tLS0rLS0tLS0tLS0rDQp8IHRlc3QgICAgICAgICB8ICAgMC4y NCB8IDAuMjAgfCAwLjE2IHwgICAwLjI0IHwNCnwgdGVzdF9mb3J3YXJkIHwgICAwLjI0IHwgMC4x NiB8IDAuMTYgfCAgIDAuMjQgfA0KKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLSstLS0t LS0rLS0tLS0tLS0rDQoNCkFuZCB0aGV5IHNob3csIHRoYXQgbXkgcGF0Y2ggd2lucy4gU28gbm8g bHNlZWtzID0gbm8gcHJvYmxlbXMuDQpNb3Jlb3Zlciwga2VlcGluZyBpbiBtaW5kLCB0aGF0IHdl IGluIFZpcnR1b3p6byBkb24ndCBoYXZlIHNjZW5hcmlvcywNCndoZXJlIHdlJ2xsIGJlbmVmaXQg ZnJvbSBsc2Vla3MsIGFuZCBhZnRlciB0d28gc2xvdy1sc2VlayBidWdzLCBpdCdzDQpkZWZpbml0 ZWx5IHNhZmVyIGZvciBtZSB0byBqdXN0IGtlZXAgb25lIG91dC1vZi10cmVlIHBhdGNoLCB0aGFu DQpyZWx5IG9uIGxzZWVrLWNhY2hlICsgbHNlZWssIHdoaWNoIGJvdGggYXJlIG5vdCBuZWVkZWQg aW4gb3VyIGNhc2UuDQpPZi1jb3Vyc2UsIGxzZWVrLWNhY2hlIGlzIGEgZ29vZCB0aGluZywgYW5k IHlvdXIgcGF0Y2ggc2VlbXMgcmVhc29uYWJsZSwNCmJ1dCBJJ2xsIGdvIHdpdGggbXkgcGF0Y2gg YW55d2F5LCBhbmQgSSBwcm9wb3NlZCBhbiBvcHRpb24gdG8gYnJpbmcNCnN1Y2ggYmVoYXZpb3Ig dG8gdXBzdHJlYW0sIGlmIHNvbWVvbmUgd2FudHMgaXQuDQoNCj0gbW9yZSBkZXRhaWxlZCB0ZXN0 cyBydW4gZGVzY3JpcHRpb24gPQ0KDQoxLiBtYXN0ZXIgYnJhbmNoDQoNCl0jIHN5bmM7IGVjaG8g MyA+IC9wcm9jL3N5cy92bS9kcm9wX2NhY2hlcw0KXSMgdGltZSAuL3FlbXUtaW1nIGNvbnZlcnQg LXAgLW4gL3RtcC90ZXN0LnFjb3cyIG51bGwtY286Ly8NCiAgICAgKDEwMC4wMC8xMDAlKQ0KDQpy ZWFsICAgIDBtMzAuNDAycw0KdXNlciAgICAwbTAuMzYxcw0Kc3lzICAgICAwbTAuODU5cw0KXSMg dGltZSAuL3FlbXUtaW1nIGNvbnZlcnQgLXAgLW4gL3RtcC90ZXN0LnFjb3cyIG51bGwtY286Ly8N CiAgICAgKDEwMC4wMC8xMDAlKQ0KDQpyZWFsICAgIDBtMC4yNDBzDQp1c2VyICAgIDBtMC4xNzNz DQpzeXMgICAgIDBtMC4zMDBzDQpdIyB0aW1lIC4vcWVtdS1pbWcgY29udmVydCAtcCAtbiAvdG1w L3Rlc3QucWNvdzIgbnVsbC1jbzovLw0KICAgICAoMTAwLjAwLzEwMCUpDQoNCnJlYWwgICAgMG0w LjI0NXMNCnVzZXIgICAgMG0wLjE2NnMNCnN5cyAgICAgMG0wLjI4NnMNCl0jIHN5bmM7IGVjaG8g MyA+IC9wcm9jL3N5cy92bS9kcm9wX2NhY2hlcw0KXSMgdGltZSAuL3FlbXUtaW1nIGNvbnZlcnQg LXAgLW4gL3RtcC90ZXN0X2ZvcndhcmQucWNvdzIgbnVsbC1jbzovLw0KICAgICAoMTAwLjAwLzEw MCUpDQoNCnJlYWwgICAgMG0yOC4yOTFzDQp1c2VyICAgIDBtMC4zNDNzDQpzeXMgICAgIDBtMC45 NDNzDQpdIyB0aW1lIC4vcWVtdS1pbWcgY29udmVydCAtcCAtbiAvdG1wL3Rlc3RfZm9yd2FyZC5x Y293MiBudWxsLWNvOi8vDQogICAgICgxMDAuMDAvMTAwJSkNCg0KcmVhbCAgICAwbTAuMjMxcw0K dXNlciAgICAwbTAuMTU0cw0Kc3lzICAgICAwbTAuMzA4cw0KXSMgdGltZSAuL3FlbXUtaW1nIGNv bnZlcnQgLXAgLW4gL3RtcC90ZXN0X2ZvcndhcmQucWNvdzIgbnVsbC1jbzovLw0KICAgICAoMTAw LjAwLzEwMCUpDQoNCnJlYWwgICAgMG0wLjI0MXMNCnVzZXIgICAgMG0wLjE1OHMNCnN5cyAgICAg MG0wLjI4NHMNCg0KMi4geW91ciBwYXRjaA0KDQpdIyBzeW5jOyBlY2hvIDMgPiAvcHJvYy9zeXMv dm0vZHJvcF9jYWNoZXMNCl0jIHRpbWUgLi9xZW11LWltZyBjb252ZXJ0IC1wIC1uIC90bXAvdGVz dC5xY293MiBudWxsLWNvOi8vDQogICAgICgxMDAuMDAvMTAwJSkNCg0KcmVhbCAgICAwbTMyLjYz NHMNCnVzZXIgICAgMG0wLjMyOHMNCnN5cyAgICAgMG0wLjg4NHMNCl0jIHRpbWUgLi9xZW11LWlt ZyBjb252ZXJ0IC1wIC1uIC90bXAvdGVzdC5xY293MiBudWxsLWNvOi8vDQogICAgICgxMDAuMDAv MTAwJSkNCg0KcmVhbCAgICAwbTAuMjA4cw0KdXNlciAgICAwbTAuMTY5cw0Kc3lzICAgICAwbTAu MzA0cw0KXSMgdGltZSAuL3FlbXUtaW1nIGNvbnZlcnQgLXAgLW4gL3RtcC90ZXN0LnFjb3cyIG51 bGwtY286Ly8NCiAgICAgKDEwMC4wMC8xMDAlKQ0KDQpyZWFsICAgIDBtMC4xODlzDQp1c2VyICAg IDBtMC4xNTVzDQpzeXMgICAgIDBtMC4yNjNzDQpdIyB0aW1lIC4vcWVtdS1pbWcgY29udmVydCAt cCAtbiAvdG1wL3Rlc3QucWNvdzIgbnVsbC1jbzovLw0KICAgICAoMTAwLjAwLzEwMCUpDQoNCnJl YWwgICAgMG0wLjE5NHMNCnVzZXIgICAgMG0wLjE1NHMNCnN5cyAgICAgMG0wLjI3M3MNCl0jIHN5 bmM7IGVjaG8gMyA+IC9wcm9jL3N5cy92bS9kcm9wX2NhY2hlcw0KXSMgdGltZSAuL3FlbXUtaW1n IGNvbnZlcnQgLXAgLW4gL3RtcC90ZXN0X2ZvcndhcmQucWNvdzIgbnVsbC1jbzovLw0KICAgICAo MTAwLjAwLzEwMCUpDQoNCnJlYWwgICAgMG0zMy40ODZzDQp1c2VyICAgIDBtMC4zNzRzDQpzeXMg ICAgIDBtMC45NTlzDQpdIyB0aW1lIC4vcWVtdS1pbWcgY29udmVydCAtcCAtbiAvdG1wL3Rlc3Rf Zm9yd2FyZC5xY293MiBudWxsLWNvOi8vDQogICAgICgxMDAuMDAvMTAwJSkNCg0KcmVhbCAgICAw bTAuMTYwcw0KdXNlciAgICAwbTAuMTczcw0Kc3lzICAgICAwbTAuMjUzcw0KXSMgdGltZSAuL3Fl bXUtaW1nIGNvbnZlcnQgLXAgLW4gL3RtcC90ZXN0X2ZvcndhcmQucWNvdzIgbnVsbC1jbzovLw0K ICAgICAoMTAwLjAwLzEwMCUpDQoNCnJlYWwgICAgMG0wLjE2NXMNCnVzZXIgICAgMG0wLjE4NnMN CnN5cyAgICAgMG0wLjIxNnMNCl0jIHRpbWUgLi9xZW11LWltZyBjb252ZXJ0IC1wIC1uIC90bXAv dGVzdF9mb3J3YXJkLnFjb3cyIG51bGwtY286Ly8NCiAgICAgKDEwMC4wMC8xMDAlKQ0KDQpyZWFs ICAgIDBtMC4xNjhzDQp1c2VyICAgIDBtMC4xNjBzDQpzeXMgICAgIDBtMC4yNTNzDQoNCjMuIG15 IHBhdGNoDQoNCl0jIHN5bmM7IGVjaG8gMyA+IC9wcm9jL3N5cy92bS9kcm9wX2NhY2hlcw0KXSMg dGltZSAuL3FlbXUtaW1nIGNvbnZlcnQgLXAgLW4gL3RtcC90ZXN0LnFjb3cyIG51bGwtY286Ly8N CiAgICAgKDEwMC4wMC8xMDAlKQ0KDQpyZWFsICAgIDBtMzMuOTE1cw0KdXNlciAgICAwbTAuMjk5 cw0Kc3lzICAgICAwbTAuODQ4cw0KXSMgdGltZSAuL3FlbXUtaW1nIGNvbnZlcnQgLXAgLW4gL3Rt cC90ZXN0LnFjb3cyIG51bGwtY286Ly8NCiAgICAgKDEwMC4wMC8xMDAlKQ0KDQpyZWFsICAgIDBt MC4xNThzDQp1c2VyICAgIDBtMC4xNThzDQpzeXMgICAgIDBtMC4yNjdzDQpdIyB0aW1lIC4vcWVt dS1pbWcgY29udmVydCAtcCAtbiAvdG1wL3Rlc3QucWNvdzIgbnVsbC1jbzovLw0KICAgICAoMTAw LjAwLzEwMCUpDQoNCnJlYWwgICAgMG0wLjE2N3MNCnVzZXIgICAgMG0wLjE1OXMNCnN5cyAgICAg MG0wLjI0NnMNCl0jIHRpbWUgLi9xZW11LWltZyBjb252ZXJ0IC1wIC1uIC90bXAvdGVzdC5xY293 MiBudWxsLWNvOi8vDQogICAgICgxMDAuMDAvMTAwJSkNCg0KcmVhbCAgICAwbTAuMTY5cw0KdXNl ciAgICAwbTAuMTc1cw0Kc3lzICAgICAwbTAuMjM2cw0KXSMgc3luYzsgZWNobyAzID4gL3Byb2Mv c3lzL3ZtL2Ryb3BfY2FjaGVzDQpdIyB0aW1lIC4vcWVtdS1pbWcgY29udmVydCAtcCAtbiAvdG1w L3Rlc3RfZm9yd2FyZC5xY293MiBudWxsLWNvOi8vDQogICAgICgxMDAuMDAvMTAwJSkNCg0KcmVh bCAgICAwbTMyLjk4MHMNCnVzZXIgICAgMG0wLjM3N3MNCnN5cyAgICAgMG0wLjkyNHMNCl0jIHRp bWUgLi9xZW11LWltZyBjb252ZXJ0IC1wIC1uIC90bXAvdGVzdF9mb3J3YXJkLnFjb3cyIG51bGwt Y286Ly8NCiAgICAgKDEwMC4wMC8xMDAlKQ0KDQpyZWFsICAgIDBtMC4xNTJzDQp1c2VyICAgIDBt MC4xNDlzDQpzeXMgICAgIDBtMC4yNjVzDQpdIyB0aW1lIC4vcWVtdS1pbWcgY29udmVydCAtcCAt biAvdG1wL3Rlc3RfZm9yd2FyZC5xY293MiBudWxsLWNvOi8vDQogICAgICgxMDAuMDAvMTAwJSkN Cg0KcmVhbCAgICAwbTAuMTYycw0KdXNlciAgICAwbTAuMTc0cw0Kc3lzICAgICAwbTAuMjE0cw0K XSMgdGltZSAuL3FlbXUtaW1nIGNvbnZlcnQgLXAgLW4gL3RtcC90ZXN0X2ZvcndhcmQucWNvdzIg bnVsbC1jbzovLw0KICAgICAoMTAwLjAwLzEwMCUpDQoNCnJlYWwgICAgMG0wLjE2NHMNCnVzZXIg ICAgMG0wLjE2NnMNCnN5cyAgICAgMG0wLjIzOXMNCg0KDQo0LiBtYXN0ZXIgcmV0ZXN0DQoNCl0j IHN5bmM7IGVjaG8gMyA+IC9wcm9jL3N5cy92bS9kcm9wX2NhY2hlcw0KXSMgdGltZSAuL3FlbXUt aW1nIGNvbnZlcnQgLXAgLW4gL3RtcC90ZXN0LnFjb3cyIG51bGwtY286Ly8NCiAgICAgKDEwMC4w MC8xMDAlKQ0KDQpyZWFsICAgIDBtMzIuNDE4cw0KdXNlciAgICAwbTAuMzQ3cw0Kc3lzICAgICAw bTAuODU2cw0KXSMgdGltZSAuL3FlbXUtaW1nIGNvbnZlcnQgLXAgLW4gL3RtcC90ZXN0LnFjb3cy IG51bGwtY286Ly8NCiAgICAgKDEwMC4wMC8xMDAlKQ0KDQpyZWFsICAgIDBtMC4yMzZzDQp1c2Vy ICAgIDBtMC4xNTNzDQpzeXMgICAgIDBtMC4zMTZzDQpdIyB0aW1lIC4vcWVtdS1pbWcgY29udmVy dCAtcCAtbiAvdG1wL3Rlc3QucWNvdzIgbnVsbC1jbzovLw0KICAgICAoMTAwLjAwLzEwMCUpDQoN CnJlYWwgICAgMG0wLjIzMnMNCnVzZXIgICAgMG0wLjE3M3MNCnN5cyAgICAgMG0wLjI2M3MNCl0j IHRpbWUgLi9xZW11LWltZyBjb252ZXJ0IC1wIC1uIC90bXAvdGVzdC5xY293MiBudWxsLWNvOi8v DQogICAgICgxMDAuMDAvMTAwJSkNCg0KcmVhbCAgICAwbTAuMjQ0cw0KdXNlciAgICAwbTAuMTYw cw0Kc3lzICAgICAwbTAuMjg3cw0KXSMgc3luYzsgZWNobyAzID4gL3Byb2Mvc3lzL3ZtL2Ryb3Bf Y2FjaGVzDQpdIyB0aW1lIC4vcWVtdS1pbWcgY29udmVydCAtcCAtbiAvdG1wL3Rlc3RfZm9yd2Fy ZC5xY293MiBudWxsLWNvOi8vDQogICAgICgxMDAuMDAvMTAwJSkNCg0KcmVhbCAgICAwbTMyLjg0 NnMNCnVzZXIgICAgMG0wLjM4NXMNCnN5cyAgICAgMG0wLjk4N3MNCl0jIHRpbWUgLi9xZW11LWlt ZyBjb252ZXJ0IC1wIC1uIC90bXAvdGVzdF9mb3J3YXJkLnFjb3cyIG51bGwtY286Ly8NCiAgICAg KDEwMC4wMC8xMDAlKQ0KDQpyZWFsICAgIDBtMC4yNDNzDQp1c2VyICAgIDBtMC4xNzNzDQpzeXMg ICAgIDBtMC4yOTlzDQpdIyB0aW1lIC4vcWVtdS1pbWcgY29udmVydCAtcCAtbiAvdG1wL3Rlc3Rf Zm9yd2FyZC5xY293MiBudWxsLWNvOi8vDQogICAgICgxMDAuMDAvMTAwJSkNCg0KcmVhbCAgICAw bTAuMjQzcw0KdXNlciAgICAwbTAuMTY0cw0Kc3lzICAgICAwbTAuMjc0cw0KXSMgdGltZSAuL3Fl bXUtaW1nIGNvbnZlcnQgLXAgLW4gL3RtcC90ZXN0X2ZvcndhcmQucWNvdzIgbnVsbC1jbzovLw0K ICAgICAoMTAwLjAwLzEwMCUpDQoNCnJlYWwgICAgMG0wLjI0M3MNCnVzZXIgICAgMG0wLjE1OXMN CnN5cyAgICAgMG0wLjI4MnMNCg0KDQo9IE15IHBhdGNoID0NCg0KZGlmZiAtLWdpdCBhL2Jsb2Nr L2lvLmMgYi9ibG9jay9pby5jDQppbmRleCBiZDlkNjg4ZjhiLi40NWU0YTUyZGVkIDEwMDY0NA0K LS0tIGEvYmxvY2svaW8uYw0KKysrIGIvYmxvY2svaW8uYw0KQEAgLTIxODYsMzQgKzIxODYsNiBA QCBzdGF0aWMgaW50IGNvcm91dGluZV9mbiBiZHJ2X2NvX2Jsb2NrX3N0YXR1cyhCbG9ja0RyaXZl clN0YXRlICpicywNCiAgICAgICAgICB9DQogICAgICB9DQoNCi0gICAgaWYgKHdhbnRfemVybyAm JiBsb2NhbF9maWxlICYmIGxvY2FsX2ZpbGUgIT0gYnMgJiYNCi0gICAgICAgIChyZXQgJiBCRFJW X0JMT0NLX0RBVEEpICYmICEocmV0ICYgQkRSVl9CTE9DS19aRVJPKSAmJg0KLSAgICAgICAgKHJl dCAmIEJEUlZfQkxPQ0tfT0ZGU0VUX1ZBTElEKSkgew0KLSAgICAgICAgaW50NjRfdCBmaWxlX3Bu dW07DQotICAgICAgICBpbnQgcmV0MjsNCi0NCi0gICAgICAgIHJldDIgPSBiZHJ2X2NvX2Jsb2Nr X3N0YXR1cyhsb2NhbF9maWxlLCB3YW50X3plcm8sIGxvY2FsX21hcCwNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAqcG51bSwgJmZpbGVfcG51bSwgTlVMTCwgTlVMTCk7DQot ICAgICAgICBpZiAocmV0MiA+PSAwKSB7DQotICAgICAgICAgICAgLyogSWdub3JlIGVycm9ycy4g IFRoaXMgaXMganVzdCBwcm92aWRpbmcgZXh0cmEgaW5mb3JtYXRpb24sIGl0DQotICAgICAgICAg ICAgICogaXMgdXNlZnVsIGJ1dCBub3QgbmVjZXNzYXJ5Lg0KLSAgICAgICAgICAgICAqLw0KLSAg ICAgICAgICAgIGlmIChyZXQyICYgQkRSVl9CTE9DS19FT0YgJiYNCi0gICAgICAgICAgICAgICAg KCFmaWxlX3BudW0gfHwgcmV0MiAmIEJEUlZfQkxPQ0tfWkVSTykpIHsNCi0gICAgICAgICAgICAg ICAgLyoNCi0gICAgICAgICAgICAgICAgICogSXQgaXMgdmFsaWQgZm9yIHRoZSBmb3JtYXQgYmxv Y2sgZHJpdmVyIHRvIHJlYWQNCi0gICAgICAgICAgICAgICAgICogYmV5b25kIHRoZSBlbmQgb2Yg dGhlIHVuZGVybHlpbmcgZmlsZSdzIGN1cnJlbnQNCi0gICAgICAgICAgICAgICAgICogc2l6ZTsg c3VjaCBhcmVhcyByZWFkIGFzIHplcm8uDQotICAgICAgICAgICAgICAgICAqLw0KLSAgICAgICAg ICAgICAgICByZXQgfD0gQkRSVl9CTE9DS19aRVJPOw0KLSAgICAgICAgICAgIH0gZWxzZSB7DQot ICAgICAgICAgICAgICAgIC8qIExpbWl0IHJlcXVlc3QgdG8gdGhlIHJhbmdlIHJlcG9ydGVkIGJ5 IHRoZSBwcm90b2NvbCBkcml2ZXIgKi8NCi0gICAgICAgICAgICAgICAgKnBudW0gPSBmaWxlX3Bu dW07DQotICAgICAgICAgICAgICAgIHJldCB8PSAocmV0MiAmIEJEUlZfQkxPQ0tfWkVSTyk7DQot ICAgICAgICAgICAgfQ0KLSAgICAgICAgfQ0KLSAgICB9DQotDQogIG91dDoNCiAgICAgIGJkcnZf ZGVjX2luX2ZsaWdodChicyk7DQogICAgICBpZiAocmV0ID49IDAgJiYgb2Zmc2V0ICsgKnBudW0g PT0gdG90YWxfc2l6ZSkgew0KDQoNCg0KLS0NCkJlc3QgcmVnYXJkcywNClZsYWRpbWlyDQo=