Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp728019pxk; Thu, 1 Oct 2020 12:18:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzXClg9TAFS4rL3FByS+3P9P6u7/v8Lls0+G/9Dd0uJSSeRkpR/cZznL3Ov7ZPe2p0NQYrd X-Received: by 2002:a17:907:72c2:: with SMTP id du2mr10138091ejc.512.1601579926894; Thu, 01 Oct 2020 12:18:46 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1601579926; cv=pass; d=google.com; s=arc-20160816; b=RRtgJsTN+GUtIdLW/n8x/O/gYbxWj635E8TEB8K1fN0WLvkw03WYxiH7jlcpnz/SbY TLJa1eQlwED7X2iEygumLswqAZ2kLw+6erZuQL9Z5bXiY+rNqn7Q1ljlEn8ML8zAhsPP wWPC3Rb2ml5lNyJqPzDzH3PAv6/L26aSNYRzyLOngCdXSIhZorGxjDSzBGa6P5lg3aU4 jtiNbbWARMV10fZymcEk0+7KkCR0WbTnAHDHiw9DSpojKmoqBJJJ7FK0Ln1qgUqZ2tV0 HYOvU4YaZ90Wy+natm+8KedshxWa77NC5VLJUFI8o5KnYQWSKaNgezm6Db1dLU/X7Tjm KqkA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence: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=irMUgwHIETBHgpnszruuKWZagqJc4JwW4HzpLauWzN4=; b=G2EWvHwbU3MOPxwYjyYB1/5f301DIGEq4Z9N25YbtlLtvDrxxbhiGbF7mwqg+16a5G svHyDwOR8S3J0gyppck8U5baBZEGz01s1bsiW/YLF7TuhHowNaM5yjd2pM7ygjAOIPWD zhigudGDofniWfMCBF4dyKKZoQeSmR7DmCPu8apKvmdHh9zKyMZL5PV0Cw5SJ5YHu9qz xNFxqEsBHMxFyZ0tixub0OOjlVpqMIw4V/7qdN3eXZVyQxdESy5/MQskBOaZP73lq03I S7AAIczIvkRXK0lk1NyPkml+hQIe4dqT6lgyOmYFanO5szLi4D3eDfAjG79OhFiOJ3aB mi7g== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=FcGZzDhN; arc=pass (i=1 spf=pass spfdomain=hammerspace.com dkim=pass dkdomain=hammerspace.com dmarc=pass fromdomain=hammerspace.com); spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 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. [23.128.96.18]) by mx.google.com with ESMTP id a19si4087356edx.553.2020.10.01.12.18.12; Thu, 01 Oct 2020 12:18:46 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=FcGZzDhN; arc=pass (i=1 spf=pass spfdomain=hammerspace.com dkim=pass dkdomain=hammerspace.com dmarc=pass fromdomain=hammerspace.com); spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 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 S1730017AbgJATSG (ORCPT + 99 others); Thu, 1 Oct 2020 15:18:06 -0400 Received: from mail-bn8nam12on2136.outbound.protection.outlook.com ([40.107.237.136]:17377 "EHLO NAM12-BN8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729990AbgJATSF (ORCPT ); Thu, 1 Oct 2020 15:18:05 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RIuxxE8axWJphSzWp9EpzB63H5CCWNV3hzq05NCubM94K1FKXj8Mops0n9KuWn/Kf0YaJua8rmB4IPvGlEjTOR/2o/XnRFohz9wxxNnORyvhn1iwLas89UshDx5Rki5ijMpB1SC22FzW1vRa8+noKJEfAZCwoQtPkN1DYpdiYn3BuFWjoybb8P0B0h9JxocYGTS/byjKwSUuQL5M1WqaKgIYImaAZaTKRdXyyJCWTDp1U5hWQvDui2DWktqhB/P2VoY1Yve67wPaCid2bW89WPSiEg2xVLQSyTkfrtBnHhCvBZJtadaF1eNcwdrf9f4T5INumowsvcWkZE1babZhdA== 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=irMUgwHIETBHgpnszruuKWZagqJc4JwW4HzpLauWzN4=; b=OWieYJz8UJSBk3UlE1vMfvWMtcjo02vulGqkUNgH3P+yP/xeuXOpUjT+nncI4JHEsU6TxHcqr55pT+hS4kEeHnZYwm4vadVrl1RaLFD6e45wO/723SXj4Xj2Ypb6rO9xfMMU0StnRCY7uPuqO42KMWO1EvrwSZwFnVPiihFaOMUjBwohESxR0m355mz9WCMx9Fxiu3wdjK4rJ/FdJMjr4Ti37cYumwBIDDMhVYMfhQ4V4DB09z1guwehWq/ST5QKtBBtr0CREctwSQxGt/vEJqmmhIrW48tXJLsZYqCTbSAO7MOARpJJUQjpc5xBiq4/gQwvDpI+gdTgDzJ390WHDQ== 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=irMUgwHIETBHgpnszruuKWZagqJc4JwW4HzpLauWzN4=; b=FcGZzDhNioDo/8RO43UZhbVgHZg7tJ2q4Ti5uLxpAfQ313a0YkKemAAm1c/nmORI4hFbzZdpO8qhau5M/Uk2AAIr6jBATGTyGcwppeYLkaJBoBADLJtO6Tu1A4ew/G9oah9jADg6izHT0HgUeEWCp4xzRvhz4mWKdfcQvD2IyHg= Received: from MN2PR13MB3957.namprd13.prod.outlook.com (2603:10b6:208:263::11) by MN2PR13MB3837.namprd13.prod.outlook.com (2603:10b6:208:19f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.22; Thu, 1 Oct 2020 19:18:01 +0000 Received: from MN2PR13MB3957.namprd13.prod.outlook.com ([fe80::e8a1:6acc:70f0:ef39]) by MN2PR13MB3957.namprd13.prod.outlook.com ([fe80::e8a1:6acc:70f0:ef39%6]) with mapi id 15.20.3433.037; Thu, 1 Oct 2020 19:18:01 +0000 From: Trond Myklebust To: "olga.kornievskaia@gmail.com" CC: "linux-nfs@vger.kernel.org" , "anna.schumaker@netapp.com" Subject: Re: [PATCH 1/1] NFSv4: make cache consistency bitmask dynamic Thread-Topic: [PATCH 1/1] NFSv4: make cache consistency bitmask dynamic Thread-Index: AQHWitq7HgXAsmSgb0eFRw//yH1PTamDFt8AgAATzICAAA7FgA== Date: Thu, 1 Oct 2020 19:18:01 +0000 Message-ID: References: <20200914210508.7701-1-olga.kornievskaia@gmail.com> In-Reply-To: Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=hammerspace.com; x-originating-ip: [68.36.133.222] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5da203e8-42eb-4066-eb19-08d8663eb6ea x-ms-traffictypediagnostic: MN2PR13MB3837: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nvJZCDEqxAYBBBeN5d0Ez+5uZ7HDIOas52l+OPLvxiuo9Mb6M4z4cI30u1To5wsgGgPuLvlmZg4Fm85BU/E1YCyhY+8+hpg2uPSttxObtYDoZ1HCbPzA898QRXEN7LwlXBYys6YlaXv+Dty61wg8gOvK4QIgPgsZXqQvgHoU6Gn2oo1/HnryjgTutEMxxbxbeVV0pY2jrPJwufGky+PZjSqGxaOiTfb2mRPIDhkRXZ4T181DDX66aunxq6mo4LmF2Dm7ur9Q/o/ExGPf93TeqHfTvZwqR/DZYiJexUbqxxyhcNrohI0Qvz6oSZhozeu+n4S45De/i78bb3I7QpmZtQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR13MB3957.namprd13.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(366004)(39840400004)(376002)(136003)(346002)(26005)(186003)(6512007)(2616005)(86362001)(478600001)(83380400001)(6506007)(53546011)(6486002)(4326008)(91956017)(66476007)(8936002)(8676002)(66556008)(2906002)(76116006)(66946007)(66446008)(64756008)(5660300002)(6916009)(36756003)(316002)(54906003)(71200400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: aUtEN1ggzuRCSn3t/jkFRo1dCJ2jWaSv296Imj6lZpw/YUY6rnZkcGjzaWEd7A2JLzXYKomkYyhk6jLu8jM9zEcbUehtSCuXgQu56CKilNf45oULCBwl+VzIYa7jgwzBQh9HJvooOUvvXNgQ33IBudC4MbLWPbbWvcyazsllswVCVa3d+OjDUA5ng0dhz9ojsIYu4F+t/xibDeuYCvbeQitAF7JaF3Y6G2zFyHE/rnxH+0bouGgVDH84ykHsdvdAdWeLYgA7iYOORPPwmMcEpHuYpc7cfm/5Q+79dCvD7c+4Xtz/cDm6y6KpGuTvRyrcv943lIbDmvCHMWmyu94sIf5LdY6QrHihNKvwR5JdHgLjMDBHAoSSlSer5N2IIWQJX4/J2MN8a2A0LtLu6R2mFNvErbZCekmyg4Z+4Ef/x4QU3b9+9igIMdNcyngaEmdcR5gdCkErWdWjUaT2VGvMKS2t4yIlOa9+veb7l3OEIaktbWySCOy1HX+9ffvYXusi18z5EXPS+vDZ2JQ/syi2LIiyRnliyed1aqOCZ1gS2nXT/37nggGaPwUup2RTEampMVCAGe/2//VqEYANJNf974QyCdDEhL9o/PA/23wfWNc1KLB26eqmt98jczETt3m6rmeNAq3dce7yUkoZaJYhtg== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <333B026847C0784FB49F011C886381BA@namprd13.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: hammerspace.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR13MB3957.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5da203e8-42eb-4066-eb19-08d8663eb6ea X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Oct 2020 19:18:01.4306 (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: 8qAjZMuyVn8tnIBkGjElW4UeWuUEBB/bz/7VgSrnEF0Z6LtnpL9XdKNPNeJUfVfrgoJ/M8Pviax7LNX0Qa3rTQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR13MB3837 Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org T24gVGh1LCAyMDIwLTEwLTAxIGF0IDE0OjI1IC0wNDAwLCBPbGdhIEtvcm5pZXZza2FpYSB3cm90 ZToNCj4gT24gVGh1LCBPY3QgMSwgMjAyMCBhdCAxOjE0IFBNIFRyb25kIE15a2xlYnVzdCA8DQo+ IHRyb25kbXlAaGFtbWVyc3BhY2UuY29tPiB3cm90ZToNCj4gPiBIaSBPbGdhLA0KPiA+IA0KPiA+ IE9uIE1vbiwgMjAyMC0wOS0xNCBhdCAxNzowNSAtMDQwMCwgT2xnYSBLb3JuaWV2c2thaWEgd3Jv dGU6DQo+ID4gPiBGcm9tOiBPbGdhIEtvcm5pZXZza2FpYSA8a29sZ2FAbmV0YXBwLmNvbT4NCj4g PiA+IA0KPiA+ID4gQ2xpZW50IHVzZXMgc3RhdGljIGJpdG1hc2sgZm9yIEdFVEFUVFIgb24gQ0xP U0UvV1JJVEUvREVMRUdSRVRVUk4NCj4gPiA+IGFuZCBpZ25vcmVzIHRoZSBmYWN0IHRoYXQgaXQg bWlnaHQgaGF2ZSBzb21lIGF0dHJpYnV0ZXMgbWFya2VkDQo+ID4gPiBpbnZhbGlkIGluIGl0cyBj YWNoZS4gQ29tcGFyZWQgdG8gdjMgd2hlcmUgYWxsIGF0dHJpYnV0ZXMgYXJlDQo+ID4gPiByZXRy aWV2ZWQgaW4gcG9zdG9wIGF0dHJpYnV0ZXMsIHY0J3MgY2FjaGUgaXMgZnJlcXVlbnRseSBvdXQg b2YNCj4gPiA+IHN5bmMgYW5kIGxlYWRzIHRvIHN0YW5kYWxvbmUgR0VUQVRUUnMgYmVpbmcgc2Vu dCB0byB0aGUgc2VydmVyLg0KPiA+ID4gDQo+ID4gPiBJbnN0ZWFkLCBpbiBhZGRpdGlvbiB0byB0 aGUgbWluaW11bSBjYWNoZSBjb25zaXN0ZW5jeSBhdHRyaWJ1dGVzDQo+ID4gPiBhbHNvIGNoZWNr IGNhY2hlX3ZhbGlkaXR5IGFuZCBhZGp1c3QgdGhlIEdFVEFUVFIgcmVxdWVzdA0KPiA+ID4gYWNj b3JkaW5nbHkuDQo+ID4gPiANCj4gPiA+IFNpZ25lZC1vZmYtYnk6IE9sZ2EgS29ybmlldnNrYWlh IDxrb2xnYUBuZXRhcHAuY29tPg0KPiA+ID4gLS0tDQo+ID4gPiAgZnMvbmZzL25mczRwcm9jLmMg ICAgICAgfCA0NQ0KPiA+ID4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst DQo+ID4gPiAtLQ0KPiA+ID4gIGluY2x1ZGUvbGludXgvbmZzX3hkci5oIHwgIDYgKysrLS0tDQo+ ID4gPiAgMiBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQ0K PiA+ID4gDQo+ID4gPiBkaWZmIC0tZ2l0IGEvZnMvbmZzL25mczRwcm9jLmMgYi9mcy9uZnMvbmZz NHByb2MuYw0KPiA+ID4gaW5kZXggNmU5NWM4NWZlMzk1Li5kNzQzNGEzNjk3ZDkgMTAwNjQ0DQo+ ID4gPiAtLS0gYS9mcy9uZnMvbmZzNHByb2MuYw0KPiA+ID4gKysrIGIvZnMvbmZzL25mczRwcm9j LmMNCj4gPiA+IEBAIC0xMDcsNiArMTA3LDkgQEAgc3RhdGljIGludCBuZnM0MV90ZXN0X3N0YXRl aWQoc3RydWN0DQo+ID4gPiBuZnNfc2VydmVyDQo+ID4gPiAqLCBuZnM0X3N0YXRlaWQgKiwNCj4g PiA+ICBzdGF0aWMgaW50IG5mczQxX2ZyZWVfc3RhdGVpZChzdHJ1Y3QgbmZzX3NlcnZlciAqLCBj b25zdA0KPiA+ID4gbmZzNF9zdGF0ZWlkICosDQo+ID4gPiAgICAgICAgICAgICAgIGNvbnN0IHN0 cnVjdCBjcmVkICosIGJvb2wpOw0KPiA+ID4gICNlbmRpZg0KPiA+ID4gK3N0YXRpYyB2b2lkIG5m czRfYml0bWFza19hZGp1c3QoX191MzIgKmJpdG1hc2ssIHN0cnVjdCBpbm9kZQ0KPiA+ID4gKmlu b2RlLA0KPiA+ID4gKyAgICAgICAgICAgICBzdHJ1Y3QgbmZzX3NlcnZlciAqc2VydmVyLA0KPiA+ ID4gKyAgICAgICAgICAgICBzdHJ1Y3QgbmZzNF9sYWJlbCAqbGFiZWwpOw0KPiA+ID4gDQo+ID4g PiAgI2lmZGVmIENPTkZJR19ORlNfVjRfU0VDVVJJVFlfTEFCRUwNCj4gPiA+ICBzdGF0aWMgaW5s aW5lIHN0cnVjdCBuZnM0X2xhYmVsICoNCj4gPiA+IEBAIC0zNjMyLDkgKzM2MzUsMTAgQEAgc3Rh dGljIHZvaWQgbmZzNF9jbG9zZV9wcmVwYXJlKHN0cnVjdA0KPiA+ID4gcnBjX3Rhc2sNCj4gPiA+ ICp0YXNrLCB2b2lkICpkYXRhKQ0KPiA+ID4gDQo+ID4gPiAgICAgICBpZiAoY2FsbGRhdGEtPmFy Zy5mbW9kZSA9PSAwIHx8IGNhbGxkYXRhLT5hcmcuZm1vZGUgPT0NCj4gPiA+IEZNT0RFX1JFQUQp IHsNCj4gPiA+ICAgICAgICAgICAgICAgLyogQ2xvc2UtdG8tb3BlbiBjYWNoZSBjb25zaXN0ZW5j eSByZXZhbGlkYXRpb24gKi8NCj4gPiA+IC0gICAgICAgICAgICAgaWYgKCFuZnM0X2hhdmVfZGVs ZWdhdGlvbihpbm9kZSwgRk1PREVfUkVBRCkpDQo+ID4gPiArICAgICAgICAgICAgIGlmICghbmZz NF9oYXZlX2RlbGVnYXRpb24oaW5vZGUsIEZNT0RFX1JFQUQpKSB7DQo+ID4gPiAgICAgICAgICAg ICAgICAgICAgICAgY2FsbGRhdGEtPmFyZy5iaXRtYXNrID0gTkZTX1NFUlZFUihpbm9kZSktDQo+ ID4gPiA+IGNhY2hlX2NvbnNpc3RlbmN5X2JpdG1hc2s7DQo+ID4gPiAtICAgICAgICAgICAgIGVs c2UNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICBuZnM0X2JpdG1hc2tfYWRqdXN0KGNhbGxk YXRhLT5hcmcuYml0bWFzaywNCj4gPiA+IGlub2RlLCBORlNfU0VSVkVSKGlub2RlKSwgTlVMTCk7 DQo+ID4gPiArICAgICAgICAgICAgIH0gZWxzZQ0KPiA+ID4gICAgICAgICAgICAgICAgICAgICAg IGNhbGxkYXRhLT5hcmcuYml0bWFzayA9IE5VTEw7DQo+ID4gPiAgICAgICB9DQo+ID4gPiANCj4g PiA+IEBAIC01MzYwLDYgKzUzNjQsMzggQEAgYm9vbA0KPiA+ID4gbmZzNF93cml0ZV9uZWVkX2Nh Y2hlX2NvbnNpc3RlbmN5X2RhdGEoc3RydWN0IG5mc19wZ2lvX2hlYWRlcg0KPiA+ID4gKmhkcikN Cj4gPiA+ICAgICAgIHJldHVybiBuZnM0X2hhdmVfZGVsZWdhdGlvbihoZHItPmlub2RlLCBGTU9E RV9SRUFEKSA9PSAwOw0KPiA+ID4gIH0NCj4gPiA+IA0KPiA+ID4gK3N0YXRpYyB2b2lkIG5mczRf Yml0bWFza19hZGp1c3QoX191MzIgKmJpdG1hc2ssIHN0cnVjdCBpbm9kZQ0KPiA+ID4gKmlub2Rl LA0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG5mc19zZXJ2ZXIg KnNlcnZlciwNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBuZnM0 X2xhYmVsICpsYWJlbCkNCj4gPiA+ICt7DQo+ID4gPiArDQo+ID4gPiArICAgICB1bnNpZ25lZCBs b25nIGNhY2hlX3ZhbGlkaXR5ID0gUkVBRF9PTkNFKE5GU19JKGlub2RlKS0NCj4gPiA+ID4gY2Fj aGVfdmFsaWRpdHkpOw0KPiA+ID4gKw0KPiA+ID4gKyAgICAgaWYgKChjYWNoZV92YWxpZGl0eSAm IE5GU19JTk9fSU5WQUxJRF9EQVRBKSB8fA0KPiA+ID4gKyAgICAgICAgICAgICAoY2FjaGVfdmFs aWRpdHkgJiBORlNfSU5PX1JFVkFMX1BBR0VDQUNIRSkgfHwNCj4gPiA+ICsgICAgICAgICAgICAg KGNhY2hlX3ZhbGlkaXR5ICYgTkZTX0lOT19SRVZBTF9GT1JDRUQpIHx8DQo+ID4gPiArICAgICAg ICAgICAgIChjYWNoZV92YWxpZGl0eSAmIE5GU19JTk9fSU5WQUxJRF9PVEhFUikpDQo+ID4gPiAr ICAgICAgICAgICAgIG5mczRfYml0bWFwX2NvcHlfYWRqdXN0KGJpdG1hc2ssDQo+ID4gPiBuZnM0 X2JpdG1hc2soc2VydmVyLA0KPiA+ID4gbGFiZWwpLCBpbm9kZSk7DQo+ID4gPiArDQo+ID4gPiAr ICAgICBpZiAoY2FjaGVfdmFsaWRpdHkgJiBORlNfSU5PX0lOVkFMSURfQVRJTUUpDQo+ID4gPiAr ICAgICAgICAgICAgIGJpdG1hc2tbMV0gfD0gRkFUVFI0X1dPUkQxX1RJTUVfQUNDRVNTOw0KPiA+ ID4gKyAgICAgaWYgKGNhY2hlX3ZhbGlkaXR5ICYgTkZTX0lOT19JTlZBTElEX0FDQ0VTUykNCj4g PiA+ICsgICAgICAgICAgICAgYml0bWFza1swXSB8PSBGQVRUUjRfV09SRDFfTU9ERSB8DQo+ID4g PiBGQVRUUjRfV09SRDFfT1dORVIgfA0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRkFUVFI0X1dPUkQxX09XTkVSX0dST1VQOw0KPiA+ID4gKyAgICAgaWYgKGNhY2hlX3ZhbGlk aXR5ICYgTkZTX0lOT19JTlZBTElEX0FDTCkNCj4gPiA+ICsgICAgICAgICAgICAgYml0bWFza1sw XSB8PSBGQVRUUjRfV09SRDBfQUNMOw0KPiA+ID4gKyAgICAgaWYgKGNhY2hlX3ZhbGlkaXR5ICYg TkZTX0lOT19JTlZBTElEX0xBQkVMKQ0KPiA+ID4gKyAgICAgICAgICAgICBiaXRtYXNrWzJdIHw9 IEZBVFRSNF9XT1JEMl9TRUNVUklUWV9MQUJFTDsNCj4gPiA+ICsgICAgIGlmIChjYWNoZV92YWxp ZGl0eSAmIE5GU19JTk9fSU5WQUxJRF9DVElNRSkNCj4gPiA+ICsgICAgICAgICAgICAgYml0bWFz a1swXSB8PSBGQVRUUjRfV09SRDBfQ0hBTkdFOw0KPiA+ID4gKyAgICAgaWYgKGNhY2hlX3ZhbGlk aXR5ICYgTkZTX0lOT19JTlZBTElEX01USU1FKQ0KPiA+ID4gKyAgICAgICAgICAgICBiaXRtYXNr WzFdIHw9IEZBVFRSNF9XT1JEMV9USU1FX01PRElGWTsNCj4gPiA+ICsgICAgIGlmIChjYWNoZV92 YWxpZGl0eSAmIE5GU19JTk9fSU5WQUxJRF9TSVpFKQ0KPiA+ID4gKyAgICAgICAgICAgICBiaXRt YXNrWzBdIHw9IEZBVFRSNF9XT1JEMF9TSVpFOw0KPiA+ID4gKyAgICAgaWYgKGNhY2hlX3ZhbGlk aXR5ICYgTkZTX0lOT19JTlZBTElEX0JMT0NLUykNCj4gPiA+ICsgICAgICAgICAgICAgYml0bWFz a1sxXSB8PSBGQVRUUjRfV09SRDFfU1BBQ0VfVVNFRDsNCj4gPiANCj4gPiBJZiB3ZSBob2xkIGEg ZGVsZWdhdGlvbiAod2hpY2ggd2UgY291bGQgZG8gd2hlbiBjYWxsZWQNCj4gPiBmcm9tIG5mczRf cHJvY193cml0ZV9zZXR1cCgpKSB0aGVuIHdlIG9ubHkgd2FudCB0byBnZXQgZXh0cmENCj4gPiBh dHRyaWJ1dGVzDQo+ID4gaWYgdGhlIE5GU19JTk9fUkVWQUxfRk9SQ0VEIGZsYWcgaXMgYWxzbyBz ZXQuDQo+IA0KPiBJZiB3ZSBob2xkIGEgZGVsZWdhdGlvbiB0aGVuIG5mczRfd3JpdGVfbmVlZF9j YWNoZV9jb25zaXN0ZW5jeV9kYXRhKCkNCj4gd291bGQgYmUgdHJ1ZSBhbmQgbm8gZ2V0YXR0ciB3 b3VsZCBiZSBhZGRlZCAob3IgbmVlZCB0byBiZSBhZGp1c3RlZCkuDQo+IEFtIEkgbWlzLXJlYWRp bmcgeW91ciBjb21tZW50Pw0KDQpObywgeW91IGFyZSBhYnNvbHV0ZWx5IHJpZ2h0LCBhbmQgSSBk aWQgbWlzcyB0aGF0LiBJbiB0aGF0IGNhc2UgSQ0KYmVsaWV2ZSB0aGlzIHNob3VsZCBiZSByZWFk eSB0byBtZXJnZSBhcyBpcy4NCg0KPiANCj4gPiA+ICt9DQo+ID4gPiArDQo+ID4gPiAgc3RhdGlj IHZvaWQgbmZzNF9wcm9jX3dyaXRlX3NldHVwKHN0cnVjdCBuZnNfcGdpb19oZWFkZXIgKmhkciwN Cj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJwY19tZXNzYWdl ICptc2csDQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBycGNf Y2xudCAqKmNsbnQpDQo+ID4gPiBAQCAtNTM2OSw4ICs1NDA1LDEwIEBAIHN0YXRpYyB2b2lkIG5m czRfcHJvY193cml0ZV9zZXR1cChzdHJ1Y3QNCj4gPiA+IG5mc19wZ2lvX2hlYWRlciAqaGRyLA0K PiA+ID4gICAgICAgaWYgKCFuZnM0X3dyaXRlX25lZWRfY2FjaGVfY29uc2lzdGVuY3lfZGF0YSho ZHIpKSB7DQo+ID4gPiAgICAgICAgICAgICAgIGhkci0+YXJncy5iaXRtYXNrID0gTlVMTDsNCj4g PiA+ICAgICAgICAgICAgICAgaGRyLT5yZXMuZmF0dHIgPSBOVUxMOw0KPiA+ID4gLSAgICAgfSBl bHNlDQo+ID4gPiArICAgICB9IGVsc2Ugew0KPiA+ID4gICAgICAgICAgICAgICBoZHItPmFyZ3Mu Yml0bWFzayA9IHNlcnZlci0NCj4gPiA+ID5jYWNoZV9jb25zaXN0ZW5jeV9iaXRtYXNrOw0KPiA+ ID4gKyAgICAgICAgICAgICBuZnM0X2JpdG1hc2tfYWRqdXN0KGhkci0+YXJncy5iaXRtYXNrLCBo ZHItPmlub2RlLA0KPiA+ID4gc2VydmVyLCBOVUxMKTsNCj4gPiA+ICsgICAgIH0NCj4gPiA+IA0K PiA+ID4gICAgICAgaWYgKCFoZHItPnBnaW9fZG9uZV9jYikNCj4gPiA+ICAgICAgICAgICAgICAg aGRyLT5wZ2lvX2RvbmVfY2IgPSBuZnM0X3dyaXRlX2RvbmVfY2I7DQo+ID4gPiBAQCAtNjQwNiw2 ICs2NDQ0LDcgQEAgc3RhdGljIGludCBfbmZzNF9wcm9jX2RlbGVncmV0dXJuKHN0cnVjdA0KPiA+ ID4gaW5vZGUNCj4gPiA+ICppbm9kZSwgY29uc3Qgc3RydWN0IGNyZWQgKmNyZWQsDQo+ID4gPiAg ICAgICBkYXRhLT5hcmdzLmZoYW5kbGUgPSAmZGF0YS0+Zmg7DQo+ID4gPiAgICAgICBkYXRhLT5h cmdzLnN0YXRlaWQgPSAmZGF0YS0+c3RhdGVpZDsNCj4gPiA+ICAgICAgIGRhdGEtPmFyZ3MuYml0 bWFzayA9IHNlcnZlci0+Y2FjaGVfY29uc2lzdGVuY3lfYml0bWFzazsNCj4gPiA+ICsgICAgIG5m czRfYml0bWFza19hZGp1c3QoZGF0YS0+YXJncy5iaXRtYXNrLCBpbm9kZSwgc2VydmVyLA0KPiA+ ID4gTlVMTCk7DQo+ID4gPiAgICAgICBuZnNfY29weV9maCgmZGF0YS0+ZmgsIE5GU19GSChpbm9k ZSkpOw0KPiA+ID4gICAgICAgbmZzNF9zdGF0ZWlkX2NvcHkoJmRhdGEtPnN0YXRlaWQsIHN0YXRl aWQpOw0KPiA+ID4gICAgICAgZGF0YS0+cmVzLmZhdHRyID0gJmRhdGEtPmZhdHRyOw0KPiA+ID4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbmZzX3hkci5oIGIvaW5jbHVkZS9saW51eC9uZnNf eGRyLmgNCj4gPiA+IGluZGV4IDk0MDhmMzI1MmM4ZS4uYmFmYmY2Njk1Nzk2IDEwMDY0NA0KPiA+ ID4gLS0tIGEvaW5jbHVkZS9saW51eC9uZnNfeGRyLmgNCj4gPiA+ICsrKyBiL2luY2x1ZGUvbGlu dXgvbmZzX3hkci5oDQo+ID4gPiBAQCAtNTI1LDcgKzUyNSw3IEBAIHN0cnVjdCBuZnNfY2xvc2Vh cmdzIHsNCj4gPiA+ICAgICAgIHN0cnVjdCBuZnNfc2VxaWQgKiAgICAgIHNlcWlkOw0KPiA+ID4g ICAgICAgZm1vZGVfdCAgICAgICAgICAgICAgICAgZm1vZGU7DQo+ID4gPiAgICAgICB1MzIgICAg ICAgICAgICAgICAgICAgICBzaGFyZV9hY2Nlc3M7DQo+ID4gPiAtICAgICBjb25zdCB1MzIgKiAg ICAgICAgICAgICBiaXRtYXNrOw0KPiA+ID4gKyAgICAgdTMyICogICAgICAgICAgICAgICAgICAg Yml0bWFzazsNCj4gPiA+ICAgICAgIHN0cnVjdCBuZnM0X2xheW91dHJldHVybl9hcmdzICpscl9h cmdzOw0KPiA+ID4gIH07DQo+ID4gPiANCj4gPiA+IEBAIC02MDgsNyArNjA4LDcgQEAgc3RydWN0 IG5mczRfZGVsZWdyZXR1cm5hcmdzIHsNCj4gPiA+ICAgICAgIHN0cnVjdCBuZnM0X3NlcXVlbmNl X2FyZ3MgICAgICAgc2VxX2FyZ3M7DQo+ID4gPiAgICAgICBjb25zdCBzdHJ1Y3QgbmZzX2ZoICpm aGFuZGxlOw0KPiA+ID4gICAgICAgY29uc3QgbmZzNF9zdGF0ZWlkICpzdGF0ZWlkOw0KPiA+ID4g LSAgICAgY29uc3QgdTMyICogYml0bWFzazsNCj4gPiA+ICsgICAgIHUzMiAqIGJpdG1hc2s7DQo+ ID4gPiAgICAgICBzdHJ1Y3QgbmZzNF9sYXlvdXRyZXR1cm5fYXJncyAqbHJfYXJnczsNCj4gPiA+ ICB9Ow0KPiA+ID4gDQo+ID4gPiBAQCAtNjQ4LDcgKzY0OCw3IEBAIHN0cnVjdCBuZnNfcGdpb19h cmdzIHsNCj4gPiA+ICAgICAgIHVuaW9uIHsNCj4gPiA+ICAgICAgICAgICAgICAgdW5zaWduZWQg aW50ICAgICAgICAgICAgcmVwbGVuOyAgICAgICAgICAgICAgICAgLyoNCj4gPiA+IHVzZWQgYnkg cmVhZCAqLw0KPiA+ID4gICAgICAgICAgICAgICBzdHJ1Y3Qgew0KPiA+ID4gLSAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHUzMiAqICAgICAgICAgICAgIGJpdG1hc2s7ICAgICAgICAvKg0KPiA+ ID4gdXNlZCBieSB3cml0ZSAqLw0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIHUzMiAqICAg ICAgICAgICAgICAgICAgIGJpdG1hc2s7ICAgICAgICAvKg0KPiA+ID4gdXNlZCBieSB3cml0ZSAq Lw0KPiA+ID4gICAgICAgICAgICAgICAgICAgICAgIGVudW0gbmZzM19zdGFibGVfaG93ICAgIHN0 YWJsZTsgICAgICAgICAvKg0KPiA+ID4gdXNlZCBieSB3cml0ZSAqLw0KPiA+ID4gICAgICAgICAg ICAgICB9Ow0KPiA+ID4gICAgICAgfTsNCj4gPiANCj4gPiBPdGhlcndpc2UgdGhpcyBsb29rcyBn b29kLiBUaGFua3MhDQo+ID4gDQotLSANClRyb25kIE15a2xlYnVzdA0KTGludXggTkZTIGNsaWVu dCBtYWludGFpbmVyLCBIYW1tZXJzcGFjZQ0KdHJvbmQubXlrbGVidXN0QGhhbW1lcnNwYWNlLmNv bQ0KDQoNCg==