Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp649095ybl; Sat, 18 Jan 2020 07:59:23 -0800 (PST) X-Google-Smtp-Source: APXvYqxUOE9TyZqd0y2PEeO9rGkzQKVUBv3n0APv2Qt7qPoTl2ljK2N5VbmZiRUPovYFXVFUJ7kz X-Received: by 2002:a9d:e83:: with SMTP id 3mr10122479otj.218.1579363162850; Sat, 18 Jan 2020 07:59:22 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1579363162; cv=pass; d=google.com; s=arc-20160816; b=q5YEYVwFYNIiQamhcQnVL5/x31dCucXWNKzRYZBRg7+fgpXsbvToE5x3wbc2Na3aKU tu5YicEG8civ1318faM1cgiQ+xg4FjMwuevoYudLtlOM/zWgbT/p4XY7nwrfg9jmkEVN lihHEb/yaSSjuJNQQoYNmjmB8D+A8KAeyBjiQRBdIldJlU66JLIqPIaCd22dDD/Gvl67 AWP6n84OHi2H7Xrml6PH6eTbOW/lXdzfHkiqRF7o/lxZEA9JJ5Ibk2cjTyHKEhgPrQD+ CwkSKwItKwJZ1Rykjy5ndMQLrX33lgJeEWhUghk24njovRSXxla6EiSx+GJ48m7zE7uW LuLg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature; bh=lsOA6TcYi0PHpJCVXY8nzK6cyHMBq2/UQtBgOGnkt/U=; b=zyrUV08Zkm/J2m6fzGRpDXa8uOX4OwOLVgzCzzHZx4sFJad+2XY8C7hhsXF8ZeILad sCajQtmrv+4nSLsSRXcrDVlcal95EVdDG5hwEYlqqiDXAyMyzlD+hWO0kCUhMkXGA8zm KAoGF68hvlMOsIWfHQCVL0fEYyGMrBuj5HHl2V4juMP105Z8v+2HTa2lK5/KeXglnBTZ 0cWKuPlJTjHeeG6rRZXtnrlXzfhjSXfldDj/PxtrA+bc1Y8rRDQ3Toqrd4s6pLrXcg9Q EZfPCFOi/Ag8K9tRKeMpu/7bImtCW9FxwNaxxPIbbRB7BXNpC2VaNSaB/UeV01pWsz76 YW2g== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=K5+m4CxN; arc=pass (i=1 spf=pass spfdomain=hammerspace.com dkim=pass dkdomain=hammerspace.com dmarc=pass fromdomain=hammerspace.com); spf=pass (google.com: best guess record for domain of linux-nfs-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hammerspace.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v6si17024313ota.19.2020.01.18.07.58.47; Sat, 18 Jan 2020 07:59:22 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-nfs-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=K5+m4CxN; arc=pass (i=1 spf=pass spfdomain=hammerspace.com dkim=pass dkdomain=hammerspace.com dmarc=pass fromdomain=hammerspace.com); spf=pass (google.com: best guess record for domain of linux-nfs-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hammerspace.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726377AbgARP61 (ORCPT + 99 others); Sat, 18 Jan 2020 10:58:27 -0500 Received: from mail-bn8nam12on2101.outbound.protection.outlook.com ([40.107.237.101]:2529 "EHLO NAM12-BN8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726334AbgARP61 (ORCPT ); Sat, 18 Jan 2020 10:58:27 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QbqZmsbVW79x3E1+ZNDN7Q7EtkkdGJFb7aoK05WVPHiuecem+g5k1pdfHqlqpz07BoTTz7zYJOm2iIP1sDJM79J0fPg6oCFDFlsoMLrST7MYk+hyZFVpuBFmUKWckMO3oizMuXh63xkseIr4m6yy5ZjFe2ILNCXZQvX6OhUOy6CNcpy9Jub6+lUalImsg4m20ZmCXCivo+fkxlpOqTbLU3ZHqXgWSm9L0rtdHJDs2GLmrcZ+agPMvcTdD005+oichOqK7Tq73VQrbdTzOibak8Io8JmeziaR85/s7SvxTpLb7dKHGVgAMG5xY7z06nXp0g5+v0I9sqdiVyuHc6eLLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lsOA6TcYi0PHpJCVXY8nzK6cyHMBq2/UQtBgOGnkt/U=; b=BRgDyUnMxlfHqqbED034mqkt/PLXdcTvjfvtwX0zj66WIEyYtWVzoRPh5tL9BRvuqOe7ouJ2vtkIer2+ttW+Y0TQA8MwMvsbTl1Gs6Y/+J6jeG3bg/obaHwBcTmmLLIL8hdD00go83IH6Bo/vkB9FaLMbxNkiTlcrjOisQb/HNvw4x2sEKPO+aXySjhOn4ybN4LRCByk6woq1aZssDutDiJONLus2kMhVrgh53o/WEOHAj+fD53SS5EfJ02me3h9RV7Va7SlislvKPGemAkyrnf7Bzqi6fExbq3MOvZJAfMrHQPLhlUHyQCwNCjhc5ETQ6WNu/q81IeE4EE4iT1EZA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hammerspace.com; dmarc=pass action=none header.from=hammerspace.com; dkim=pass header.d=hammerspace.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hammerspace.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lsOA6TcYi0PHpJCVXY8nzK6cyHMBq2/UQtBgOGnkt/U=; b=K5+m4CxNm2BNJODGtcbzTUJAvFTMLtMKKwFlXGKi2lXh981E0qtYVSX4Fqrcum22m8sBABq19AvQ2jJO1fRwJDrOPmc/LhCFOHQEC0YQRSc0yusTxZLIAQrCfvtVygEl5isisuiS9IzGIGw3lxCbhyhXl9chFBhi+n2CWt8yPcM= Received: from BN6PR1301MB2097.namprd13.prod.outlook.com (10.174.87.14) by BN6PR1301MB2002.namprd13.prod.outlook.com (10.174.88.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2644.12; Sat, 18 Jan 2020 15:58:19 +0000 Received: from BN6PR1301MB2097.namprd13.prod.outlook.com ([fe80::40e1:9ff5:2b8c:38bf]) by BN6PR1301MB2097.namprd13.prod.outlook.com ([fe80::40e1:9ff5:2b8c:38bf%5]) with mapi id 15.20.2644.015; Sat, 18 Jan 2020 15:58:19 +0000 From: Trond Myklebust To: "dai.ngo@oracle.com" , "Anna.Schumaker@netapp.com" CC: "linux-nfs@vger.kernel.org" Subject: Re: 'ls -lrt' performance issue on large dir while dir is being modified Thread-Topic: 'ls -lrt' performance issue on large dir while dir is being modified Thread-Index: AQHVtTrg9UEu5xyd+UCr2UuPhZ9qAafCacsAgCnKFQCAAAwFgIAAA1sAgAOgjoCAAOHugA== Date: Sat, 18 Jan 2020 15:58:19 +0000 Message-ID: <43fae563e93052f9dc9584ddd800770a7b3b10d2.camel@hammerspace.com> References: <770937d3-9439-db4a-1f6e-59a59f2c08b9@oracle.com> <9fdf37ffe4b3f7016a60e3a61c2087a825348b28.camel@hammerspace.com> <49bfa6104b6a65311594efd47592b5c2b25d905a.camel@hammerspace.com> <8439e738-6c90-29d9-efc8-300420b096b1@oracle.com> In-Reply-To: <8439e738-6c90-29d9-efc8-300420b096b1@oracle.com> Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=trondmy@hammerspace.com; x-originating-ip: [68.40.189.247] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e8ab92dc-efc2-451f-5be8-08d79c2f3cf9 x-ms-traffictypediagnostic: BN6PR1301MB2002: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0286D7B531 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(346002)(39830400003)(376002)(136003)(396003)(366004)(199004)(189003)(81156014)(81166006)(8676002)(53546011)(110136005)(478600001)(6512007)(6486002)(6506007)(66476007)(66556008)(76116006)(66446008)(66946007)(64756008)(36756003)(5660300002)(186003)(2906002)(26005)(316002)(91956017)(4326008)(71200400001)(86362001)(8936002)(2616005);DIR:OUT;SFP:1102;SCL:1;SRVR:BN6PR1301MB2002;H:BN6PR1301MB2097.namprd13.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: hammerspace.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oyWhHj2y/lt9nDlv7aDwQg83x5lfwn6GMURGh/F1kJRIt/PS0mfdNbLPbTcXxnSf7epyL9PC1WW2DGgGwVTihKe+A/G5uBXSP8qor8Tb19Tjw8uqF2JY06ULzyRSDeqC0RIxYcLeJLq+HaW4C40AE58lICASyInFtVz0lP8Rt3/JG/gYWp+5NhteoNX7YbEGpyuLNOzOyNbE2+lp1s9pKbCGbKHSQ8C1oQ+tZggFwUymbKS/p26NLKkfgQY8V8wZ138TtchMv/5kJyKjIsa0FY8Nws7coGZBoMEQQ/6fktODZk5FLdkDcfuL1FrX1EJmv56GajJusPEM+QQnBnMwug9170cqvIqhvUkm+FtwNTL7PjYnkjScvYYKT5/zKVldUzm9B37cp7JPpycqLJhK70w+4JWaP8up1uju/Vc5pn3Q43TvdkCRqR2M7arhb8CN x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: hammerspace.com X-MS-Exchange-CrossTenant-Network-Message-Id: e8ab92dc-efc2-451f-5be8-08d79c2f3cf9 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jan 2020 15:58:19.4846 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0d4fed5c-3a70-46fe-9430-ece41741f59e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: CmrGUNwCJBXA33bldVU62IoBMIwiXke4IZL90i87+85YPbBzL71hV4Exwed6M/4Q+ZxRNUKtDSZir/lMDaEomw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR1301MB2002 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org T24gRnJpLCAyMDIwLTAxLTE3IGF0IDE4OjI5IC0wODAwLCBEYWkgTmdvIHdyb3RlOg0KPiBIaSBU cm9uZCwNCj4gDQo+IE9uIDEvMTUvMjAgMTE6MDYgQU0sIFRyb25kIE15a2xlYnVzdCB3cm90ZToN Cj4gPiBPbiBXZWQsIDIwMjAtMDEtMTUgYXQgMTg6NTQgKzAwMDAsIFRyb25kIE15a2xlYnVzdCB3 cm90ZToNCj4gPiA+IE9uIFdlZCwgMjAyMC0wMS0xNSBhdCAxMDoxMSAtMDgwMCwgRGFpIE5nbyB3 cm90ZToNCj4gPiA+ID4gSGkgQW5uYSwgVHJvbmQsDQo+ID4gPiA+IA0KPiA+ID4gPiBXb3VsZCB5 b3UgcGxlYXNlIGxldCBtZSBrbm93IHlvdXIgb3BpbmlvbiByZWdhcmRpbmcgcmV2ZXJ0aW5nDQo+ ID4gPiA+IHRoZQ0KPiA+ID4gPiBjaGFuZ2UgaW4NCj4gPiA+ID4gbmZzX2ZvcmNlX3VzZV9yZWFk ZGlycGx1cyB0byBjYWxsIG5mc196YXBfbWFwcGluZyBpbnN0ZWFkIG9mDQo+ID4gPiA+IGludmFs aWRhdGVfbWFwcGluZ19wYWdlcy4NCj4gPiA+ID4gVGhpcyBjaGFuZ2UgaXMgdG8gcHJldmVudCB0 aGUgY29va2llIG9mIHRoZSBSRUFERElSUExVUyB0byBiZQ0KPiA+ID4gPiByZXNldA0KPiA+ID4g PiB0byAwIHdoaWxlDQo+ID4gPiA+IGFuIGluc3RhbmNlIG9mICdscycgaXMgcnVubmluZyBhbmQg dGhlIGRpcmVjdG9yeSBpcyBiZWluZw0KPiA+ID4gPiBtb2RpZmllZC4NCj4gPiA+ID4gDQo+ID4g PiA+ID4gZGlmZiAtLWdpdCBhL2ZzL25mcy9kaXIuYyBiL2ZzL25mcy9kaXIuYyBpbmRleA0KPiA+ ID4gPiA+IGE3M2UyZjhiZDhlYy4uNWQ0YTY0NTU1ZmE3IDEwMDY0NCAtLS0gYS9mcy9uZnMvZGly LmMgKysrDQo+ID4gPiA+ID4gYi9mcy9uZnMvZGlyLmMgQEAgLTQ0NCw3ICs0NDQsNyBAQCB2b2lk DQo+ID4gPiA+ID4gbmZzX2ZvcmNlX3VzZV9yZWFkZGlycGx1cyhzdHJ1Y3QgaW5vZGUgKmRpcikg ICAgICBpZg0KPiA+ID4gPiA+IChuZnNfc2VydmVyX2NhcGFibGUoZGlyLCBORlNfQ0FQX1JFQURE SVJQTFVTKSAmJg0KPiA+ID4gPiA+ICFsaXN0X2VtcHR5KCZuZnNpLT5vcGVuX2ZpbGVzKSkgew0K PiA+ID4gPiA+IHNldF9iaXQoTkZTX0lOT19BRFZJU0VfUkRQTFVTLCAmbmZzaS0+ZmxhZ3MpOyAt DQo+ID4gPiA+ID4gaW52YWxpZGF0ZV9tYXBwaW5nX3BhZ2VzKGRpci0+aV9tYXBwaW5nLCAwLCAt MSk7ICsNCj4gPiA+ID4gPiBuZnNfemFwX21hcHBpbmcoZGlyLCBkaXItPmlfbWFwcGluZyk7ICAg ICAgfSAgfQ0KPiA+ID4gPiBUaGFua3MsDQo+ID4gPiA+IC1EYWkNCj4gPiA+ID4gDQo+ID4gPiA+ IE9uIDEyLzE5LzE5IDg6MDEgUE0sIERhaSBOZ28gd3JvdGU6DQo+ID4gPiA+ID4gSGkgQW5uYSwg VHJvbmQsDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gSSBtYWRlIGEgbWlzdGFrZSB3aXRoIHRoZSA1 LjUgbnVtYmVycy4gVGhlIFZNIHRoYXQgcnVucyA1LjUNCj4gPiA+ID4gPiBoYXMNCj4gPiA+ID4g PiBzb21lDQo+ID4gPiA+ID4gcHJvYmxlbXMuIFRoZXJlIGlzIG5vIHJlZ3Jlc3Npb24gd2l0aCA1 LjUsIGhlcmUgYXJlIHRoZSBuZXcNCj4gPiA+ID4gPiBudW1iZXJzOg0KPiA+ID4gPiA+IA0KPiA+ ID4gPiA+IFVwc3RyZWFtIExpbnV4IDUuNS4wLXJjMSBbT1JJXSA5MzI5NjogM20xMC45MTdzICAx OTc4OTE6DQo+ID4gPiA+ID4gMTBtMzUuNzg5cw0KPiA+ID4gPiA+IFVwc3RyZWFtIExpbnV4IDUu NS4wLXJjMSBbTU9EXSA5ODYxNDogMW01OS42NDlzICAxOTI4MDE6DQo+ID4gPiA+ID4gM201NS4w MDNzDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gTXkgYXBvbG9naWVzIGZvciB0aGUgbWlzdGFrZS4N Cj4gPiA+ID4gPiANCj4gPiA+ID4gPiBOb3cgdGhlcmUgaXMgbm8gcmVncmVzc2lvbiB3aXRoIDUu NSwgSSdkIGxpa2UgdG8gZ2V0IHlvdXINCj4gPiA+ID4gPiBvcGluaW9uDQo+ID4gPiA+ID4gcmVn YXJkaW5nIHRoZSBjaGFuZ2UgdG8gcmV2ZXJ0IHRoZSBjYWxsIGZyb20NCj4gPiA+ID4gPiBpbnZh bGlkYXRlX21hcHBpbmdfcGFnZXMNCj4gPiA+ID4gPiB0byBuZnNfemFwX21hcHBpbmcgaW4gbmZz X2ZvcmNlX3VzZV9yZWFkZGlycGx1cyB0byBwcmV2ZW50DQo+ID4gPiA+ID4gdGhlDQo+ID4gPiA+ ID4gY3VycmVudCAnbHMnIGZyb20gcmVzdGFydGluZyB0aGUgUkVBRERJUlBMVVMzIGZyb20gY29v a2llIDAuDQo+ID4gPiA+ID4gSSdtDQo+ID4gPiA+ID4gbm90IHF1aXRlIHN1cmUgYWJvdXQgdGhl IGludGVudGlvbiBvZiB0aGUgcHJpb3IgY2hhbmdlIGZyb20NCj4gPiA+ID4gPiBuZnNfemFwX21h cHBpbmcgdG8gaW52YWxpZGF0ZV9tYXBwaW5nX3BhZ2VzIHNvIHRoYXQgaXMgd2h5DQo+ID4gPiA+ ID4gSSdtDQo+ID4gPiA+ID4gc2Vla2luZyBhZHZpc2UuIE9yIGRvIHlvdSBoYXZlIGFueSBzdWdn ZXN0aW9ucyB0byBhY2hpZXZlIHRoZQ0KPiA+ID4gPiA+IHNhbWU/DQo+ID4gPiA+ID4gDQo+ID4g PiA+ID4gVGhhbmtzLA0KPiA+ID4gPiA+IC1EYWkNCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBPbiAx Mi8xNy8xOSA0OjM0IFBNLCBEYWkgTmdvIHdyb3RlOg0KPiA+ID4gPiA+ID4gSGksDQo+ID4gPiA+ ID4gPiANCj4gPiA+ID4gPiA+IEknZCBsaWtlIHRvIHJlcG9ydCBhbiBpc3N1ZSB3aXRoICdscyAt bHJ0JyBvbiBORlN2MyBjbGllbnQNCj4gPiA+ID4gPiA+IHRha2VzDQo+ID4gPiA+ID4gPiBhIHZl cnkgbG9uZyB0aW1lIHRvIGRpc3BsYXkgdGhlIGNvbnRlbnQgb2YgYSBsYXJnZQ0KPiA+ID4gPiA+ ID4gZGlyZWN0b3J5DQo+ID4gPiA+ID4gPiAoMTAwayAtIDIwMGsgZmlsZXMpIHdoaWxlIHRoZSBk aXJlY3RvcnkgaXMgYmVpbmcgbW9kaWZpZWQNCj4gPiA+ID4gPiA+IGJ5DQo+ID4gPiA+ID4gPiBh bm90aGVyIE5GU3YzIGNsaWVudC4NCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gVGhlIHByb2Js ZW0gY2FuIGJlIHJlcHJvZHVjZWQgdXNpbmcgMyBzeXN0ZW1zLiBPbmUgc3lzdGVtDQo+ID4gPiA+ ID4gPiBzZXJ2ZXMNCj4gPiA+ID4gPiA+IGFzIHRoZSBORlMgc2VydmVyLCBvbmUgc3lzdGVtIHJ1 bnMgYXMgdGhlIGNsaWVudCB0aGF0IGRvaW5nDQo+ID4gPiA+ID4gPiB0aGUNCj4gPiA+ID4gPiA+ ICdscyAtbHJ0JyBhbmQgYW5vdGhlciBzeXN0ZW0gcnVucyB0aGUgY2xpZW50IHRoYXQgY3JlYXRl cw0KPiA+ID4gPiA+ID4gZmlsZXMNCj4gPiA+ID4gPiA+IG9uIHRoZSBzZXJ2ZXIuDQo+ID4gPiA+ ID4gPiAgICAgIENsaWVudDEgY3JlYXRlcyBmaWxlcyB1c2luZyB0aGlzIHNpbXBsZSBzY3JpcHQ6 DQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gIyEvYmluL3NoDQo+ID4gPiA+ID4gPiA+IA0K PiA+ID4gPiA+ID4gPiBpZiBbICQjIC1sdCAyIF07IHRoZW4NCj4gPiA+ID4gPiA+ID4gICAgICAg ICAgZWNobyAiVXNhZ2U6ICQwIG51bWJlcl9vZl9maWxlcyBiYXNlX2ZpbGVuYW1lIg0KPiA+ID4g PiA+ID4gPiAgICAgICAgICBleGl0DQo+ID4gPiA+ID4gPiA+IGZpICAgIG5maWxlcz0kMQ0KPiA+ ID4gPiA+ID4gPiBmbmFtZT0kMg0KPiA+ID4gPiA+ID4gPiBlY2hvICJjcmVhdGluZyAkbmZpbGVz IGZpbGVzIHVzaW5nIGZpbGVuYW1lWyRmbmFtZV0uLi4iDQo+ID4gPiA+ID4gPiA+IGk9MCAgICAg ICAgIHdoaWxlIFsgaSAtbHQgJG5maWxlcyBdIDsNCj4gPiA+ID4gPiA+ID4gZG8gICAgICAgICAg ICBpPWBleHByICRpICsgMWANCj4gPiA+ID4gPiA+ID4gICAgICAgICAgZWNobyAieHl6IiA+ICRm bmFtZSRpDQo+ID4gPiA+ID4gPiA+ICAgICAgICAgIGVjaG8gIiRmbmFtZSRpIiBkb25lDQo+ID4g PiA+ID4gPiBDbGllbnQyIHJ1bnMgJ3RpbWUgbHMgLWxydCAvdG1wL21udC9iZDEgfHdjIC1sJyBp biBhIGxvb3AuDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IFRoZSBuZXR3b3JrIHRyYWNlcyBh bmQgZHRyYWNlIHByb2JlcyBzaG93ZWQgbnVtZXJvdXMNCj4gPiA+ID4gPiA+IFJFQURESVJQTFVT Mw0KPiA+ID4gPiA+ID4gcmVxdWVzdHMgcmVzdGFydGluZyAgZnJvbSBjb29raWUgMCB3aGljaCBz ZWVtZWQgdG8gaW5kaWNhdGUNCj4gPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gY2FjaGVkIHBh Z2VzIG9mIHRoZSBkaXJlY3Rvcnkgd2VyZSBpbnZhbGlkYXRlZCBjYXVzaW5nIHRoZQ0KPiA+ID4g PiA+ID4gcGFnZXMNCj4gPiA+ID4gPiA+IHRvIGJlIHJlZmlsbGVkIHN0YXJ0aW5nIGZyb20gY29v a2llIDAgdW50aWwgdGhlIGN1cnJlbnQNCj4gPiA+ID4gPiA+IHJlcXVlc3RlZA0KPiA+ID4gPiA+ ID4gY29va2llLiAgVGhlIGNhY2hlZCBwYWdlIGludmFsaWRhdGlvbiB3ZXJlIHRyYWNrZWQgdG8N Cj4gPiA+ID4gPiA+IG5mc19mb3JjZV91c2VfcmVhZGRpcnBsdXMoKS4gIFRvIHZlcmlmeSwgSSBt YWRlIHRoZSBiZWxvdw0KPiA+ID4gPiA+ID4gbW9kaWZpY2F0aW9uLCByYW4gdGhlIHRlc3QgZm9y IHZhcmlvdXMga2VybmVsIHZlcnNpb25zIGFuZA0KPiA+ID4gPiA+ID4gY2FwdHVyZWQgdGhlIHJl c3VsdHMgc2hvd24gYmVsb3cuDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IFRoZSBtb2RpZmlj YXRpb24gaXM6DQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2ZzL25m cy9kaXIuYyBiL2ZzL25mcy9kaXIuYw0KPiA+ID4gPiA+ID4gPiBpbmRleCBhNzNlMmY4YmQ4ZWMu LjVkNGE2NDU1NWZhNyAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gLS0tIGEvZnMvbmZzL2Rpci5jDQo+ ID4gPiA+ID4gPiA+ICsrKyBiL2ZzL25mcy9kaXIuYw0KPiA+ID4gPiA+ID4gPiBAQCAtNDQ0LDcg KzQ0NCw3IEBAIHZvaWQgbmZzX2ZvcmNlX3VzZV9yZWFkZGlycGx1cyhzdHJ1Y3QNCj4gPiA+ID4g PiA+ID4gaW5vZGUNCj4gPiA+ID4gPiA+ID4gKmRpcikNCj4gPiA+ID4gPiA+ID4gICAgICAgaWYg KG5mc19zZXJ2ZXJfY2FwYWJsZShkaXIsIE5GU19DQVBfUkVBRERJUlBMVVMpICYmDQo+ID4gPiA+ ID4gPiA+ICAgICAgICAgICAhbGlzdF9lbXB0eSgmbmZzaS0+b3Blbl9maWxlcykpIHsNCj4gPiA+ ID4gPiA+ID4gICAgICAgICAgIHNldF9iaXQoTkZTX0lOT19BRFZJU0VfUkRQTFVTLCAmbmZzaS0+ ZmxhZ3MpOw0KPiA+ID4gPiA+ID4gPiAtICAgICAgICBpbnZhbGlkYXRlX21hcHBpbmdfcGFnZXMo ZGlyLT5pX21hcHBpbmcsIDAsIC0xKTsNCj4gPiA+ID4gPiA+ID4gKyAgICAgICAgbmZzX3phcF9t YXBwaW5nKGRpciwgZGlyLT5pX21hcHBpbmcpOw0KPiA+ID4gPiA+ID4gPiAgICAgICB9DQo+ID4g PiA+ID4gPiA+ICAgfQ0KPiA+ID4gVGhpcyBjaGFuZ2UgaXMgb25seSByZXZlcnRpbmcgcGFydCBv ZiBjb21taXQgNzlmNjg3YTNkZTllLiBNeQ0KPiA+ID4gcHJvYmxlbQ0KPiA+ID4gd2l0aCB0aGF0 IGlzIGFzIGZvbGxvd3M6DQo+ID4gPiANCj4gPiA+IFJGQzE4MTMgc3RhdGVzIHRoYXQgTkZTdjMg UkVBRERJUlBMVVMgY29va2llcyBhbmQgdmVyaWZpZXJzIG11c3QNCj4gPiA+IG1hdGNoDQo+ID4g PiB0aG9zZSByZXR1cm5lZCBieSBwcmV2aW91cyBSRUFERElSUExVUyBjYWxscywgYW5kIFJFQURE SVIgY29va2llcw0KPiA+ID4gYW5kDQo+ID4gPiB2ZXJpZmllcnMgbXVzdCBtYXRjaCB0aG9zZSBy ZXR1cm5lZCBieSBwcmV2aW91cyBSRUFERElSIGNhbGxzLiBJdA0KPiA+ID4gc2F5cw0KPiA+ID4g bm90aGluZyBhYm91dCBiZWluZyBhYmxlIHRvIGFzc3VtZSBjb29raWVzIGZyb20gUkVBRERJUiBh bmQNCj4gPiA+IFJFQURESVJQTFVTDQo+ID4gPiBjYWxscyBhcmUgaW50ZXJjaGFuZ2VhYmxlLiBT byB0aGUgb25seSByZWFzb24gSSBjYW4gc2VlIGZvciB0aGUNCj4gPiA+IGludmFsaWRhdGVfbWFw cGluZ19wYWdlcygpIGlzIHRvIGVuc3VyZSB0aGF0IHdlIGRvIHNlcGFyYXRlIHRoZQ0KPiA+ID4g dHdvDQo+ID4gPiBjb29raWUgY2FjaGVzLg0KPiANCj4gSWYgSSB1bmRlcnN0YW5kIHlvdXIgY29u Y2VybiBjb3JyZWN0bHkgdGhhdCBpbiBORlN2MyB0aGUgY2xpZW50IG11c3QNCj4gbWFpbnRhaW4g dmFsaWQgY29va2llcyBhbmQgY29va2llIHZlcmlmaWVycyB3aGVuIHN3aXRjaGluZyBiZXR3ZWVu DQo+IFJFQURESVIgYW5kIFJFQURESVJQTFVTLCBvciB2aWNlIHNlcnNhLCB0aGVuIEkgdGhpbmsg dGhlIGN1cnJlbnQNCj4gY2xpZW50DQo+IGNvZGUgaGFuZGxlcyB0aGlzIGNvbmRpdGlvbiBvay4N Cj4gDQo+IE9uIHRoZSBjbGllbnQsIGJvdGggUkVBRERJUiBhbmQgUkVBRERJUlBMVVMgcmVxdWVz dHMgdXNlIHRoZSBjb29raWUNCj4gdmFsdWVzDQo+IGZyb20gdGhlIHNhbWUgY2FjaGVkIHBhZ2Vz IG9mIHRoZSBkaXJlY3Rvcnkgc28gSSBkb24ndCB0aGluayB0aGV5IGNhbg0KPiBiZQ0KPiBvdXQg b2Ygc3luYyB3aGVuIHRoZSBjbGllbnQgc3dpdGNoZXMgYmV0d2VlbiBSRUFERElSUExVUyBhbmQg UkVBRERJUg0KPiByZXF1ZXN0cyBmb3IgZGlmZmVyZW50IG5mc19yZWFkZGlyIGNhbGxzLg0KPiAN Cj4gSW4gZmFjdCwgY3VycmVudGx5IHRoZSBmaXJzdCBuZnNfcmVhZGRpciB1c2VzIFJFQURESVJQ TFVTJ3MgdG8gZmlsbA0KPiByZWFkDQo+IHRoZSBlbnRyaWVzIGFuZCBpZiB0aGVyZSBpcyBubyBM T09LVVAvR0VUQVRUUiBvbiBvbmUgb2YgdGhlIGRpcmVjdG9yeQ0KPiBlbnRyaWVzIHRoZW4gdGhl IGNsaWVudCByZXZlcnRzIHRvIFJFQURESVIncyBmb3Igc3Vic2VxdWVudA0KPiBuZnNfcmVhZGRp cg0KPiBjYWxscyB3aXRob3V0IGludmFsaWRhdGluZyBhbnkgY2FjaGVkIHBhZ2VzIG9mIHRoZSBk aXJlY3RvcnkuIElmDQo+IHRoZXJlDQo+IGFyZSBMT09LVVAvR0VUQVRUUiBkb25lIG9uIG9uZSBv ZiB0aGUgZGlyZWN0b3J5IGVudHJpZXMgdGhlbg0KPiBuZnNfYWR2aXNlX3VzZV9yZWFkZGlycGx1 cyBpcyBjYWxsZWQgd2hpY2ggZm9yY2VzIHRoZSBjbGllbnQgdG8gdXNlDQo+IFJFQURESVJQTFVT IGFnYWluIGZvciB0aGUgbmV4dCBuZnNfcmVhZGRpci4NCj4gICANCj4gVW5sZXNzIHRoZSB1c2Vy IG1vdW50cyB0aGUgZXhwb3J0IHdpdGggJ25vcmRpcnBsdXMnIG9wdGlvbiB0aGVuIHRoZQ0KPiBj bGllbnQgdXNlcyBvbmx5IFJFQURESVJzIGZvciBhbGwgcmVxdWVzdHMsIG5vIHN3aXRjaGluZyB0 YWtlcyBwbGFjZS4NCg0KDQpJIGRvbid0IHVuZGVyc3RhbmQgeW91ciBwb2ludC4gVGhlIGlzc3Vl IGlzIHRoYXQNCm5mc19hZHZpc2VfdXNlX3JlYWRkaXJwbHVzKCkgY2FuIGNhdXNlIHRoZSBiZWhh dmlvdXIgdG8gc3dpdGNoIGJldHdlZW4NCnVzZSBvZiBSRUFERElSUExVUyBhbmQgdXNlIG9mIFJF QURESVIgZnJvbSBvbmUgc3lzY2FsbCB0byBnZXRkZW50cygpIHRvDQp0aGUgbmV4dC4NCklmIHRo ZSBjbGllbnQgaXMgdXNpbmcgdGhlIHNhbWUgcGFnZSBjYWNoZSwgYWNyb3NzIHRob3NlIHN5c2Nh bGxzLCB0aGVuDQppdCB3aWxsIGVuZCB1cCBjYWNoaW5nIGEgbWl4dHVyZSBvZiBjb29raWVzLiBG dXJ0aGVybW9yZSwgc2luY2UgdGhlDQpjb29raWUgdGhhdCBpcyB1c2VkIGFzIGFuIGFyZ3VtZW50 IHRvIHRoZSBuZXh0IGNhbGwgdG8NClJFQURESVIvUkVBRERJUlBMVVMgaXMgdGFrZW4gZnJvbSB0 aGF0IHBhZ2UgY2FjaGUsIHRoZW4gd2UgY2FuIGVuZCB1cA0KY2FsbGluZyBSRUFERElSUExVUyB3 aXRoIGEgY29va2llIHRoYXQgY2FtZSBmcm9tIFJFQURESVIgYW5kIHZpY2UNCnZlcnNhLg0KDQpB cyBJIHNhaWQsIEknbSBub3QgY29udmluY2VkIHRoYXQgaXMgbGVnYWwgaW4gUkZDMTgxMyAoTkZT djMpLg0KDQpUaGF0IGlzIHdoeSB3ZSB3YW50IHRvIGNsZWFyIHRoZSBwYWdlIGNhY2hlIHdoZW4g d2Ugc3dhcCBiZXR3ZWVuIHVzZSBvZg0KUkVBRERJUiBhbmQgdXNlIG9mIFJFQURESVJQTFVTIGZv ciB0aGUgY2FzZSBvZiBORlN2My4NCg0KPiANCj4gVGhhbmtzLA0KPiAtRGFpDQo+IA0KPiA+ID4g T1RPSCwgZm9yIE5GU3Y0LCB0aGVyZSBpcyBubyBzZXBhcmF0ZSBSRUFERElSUExVUyBmdW5jdGlv biwgc28NCj4gPiA+IHRoZXJlDQo+ID4gPiByZWFsbHkgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGFu eSByZWFzb24gdG8gY2xlYXIgdGhlIHBhZ2UgY2FjaGUNCj4gPiA+IGF0DQo+ID4gPiBhbGwNCj4g PiA+IGFzIHdlJ3JlIHN3aXRjaGluZyBiZXR3ZWVuIHJlcXVlc3RpbmcgYXR0cmlidXRlcyBvciBu b3QuDQo+ID4gPiANCj4gPiBTb3JyeS4uLiBUbyBzcGVsbCBvdXQgbXkgb2JqZWN0aW9uIHRvIHRo aXMgY2hhbmdlIG1vcmUgY2xlYXJseTogVGhlDQo+ID4gY2FsbCB0byBuZnNfemFwX21hcHBpbmco KSBtYWtlcyBubyBzZW5zZSBpbiBlaXRoZXIgY2FzZS4NCj4gPiAgICogSXQgZGVmZXJzIHRoZSBj YWNoZSBpbnZhbGlkYXRpb24gdW50aWwgdGhlIG5leHQgY2FsbCB0bw0KPiA+ICAgICByZXdpbmRk aXIoKS9vcGVuZGlyKCksIHNvIGl0IGRvZXMgbm90IGFkZHJlc3MgdGhlIE5GU3YzDQo+ID4gY29u Y2Vybi4NCj4gPiAgICogSXQgd291bGQgYXBwZWFyIHRvIGJlIGVudGlyZWx5IHN1cGVyZmx1b3Vz IGZvciB0aGUgTkZTdjQgY2FzZS4NCj4gPiANCj4gPiBTbyBhIGNoYW5nZSB0aGF0IG1pZ2h0IGJl IGFjY2VwdGFibGUgd291bGQgYmUgdG8ga2VlcCB0aGUgZXhpc3RpbmcNCj4gPiBjYWxsDQo+ID4g dG8gaW52YWxpZGF0ZV9tYXBwaW5nX3BhZ2VzKCkgZm9yIE5GU3YzLCBidXQgdG8gcmVtb3ZlIGl0 IGZvcg0KPiA+IE5GU3Y0Lg0KPiA+IA0KLS0gDQpUcm9uZCBNeWtsZWJ1c3QNCkxpbnV4IE5GUyBj bGllbnQgbWFpbnRhaW5lciwgSGFtbWVyc3BhY2UNCnRyb25kLm15a2xlYnVzdEBoYW1tZXJzcGFj ZS5jb20NCg0KDQo=