Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp799643ybl; Tue, 28 Jan 2020 12:22:06 -0800 (PST) X-Google-Smtp-Source: APXvYqy3rPpgRkW43ONImQDFIgxC8VMY5wLF6vArCcAgwoLnlfKSGAnwVe/Cbfs1w5Dbj0SKEPk5 X-Received: by 2002:a05:6830:1116:: with SMTP id w22mr18353521otq.216.1580242926278; Tue, 28 Jan 2020 12:22:06 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1580242926; cv=pass; d=google.com; s=arc-20160816; b=KKBDrelcnpMl1sgDYexIHF5Y2o8GYUajZx+/dp0rl8K8vA3we2edtC6w0pXLSNZKJF 0uLB6Y7POmFV/cu3DQgseLkvLIuraJDAgM25KLC8eU2T6XJTJoFsvptkkP6gsrLY2vS/ iHV1pom82M0WbJ42Fnov1x9fveSqZVjUQLBZKXsoR4e7pA+7M0OXhdN5kR67RUPkJO4D 9vwI3GFtqViZR2pjKd9JJj7pcMx0rYgQN0jCmTqLP675YbKyPCvmZV6VNTjKFXT5g6dD gLwenXWWbMmZyf0q8HifEI2H70PwmCS6Kw60YeU7z3KglNW5PjUjJnZeKn+pB1H/Nbzs CE/g== 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=JTf2mgN6cFQG+opE3rdGE6KP82VVwSh9WUPuGCIg4+c=; b=F+bc9elz2DBD6f1DFpv8mQySeGMAq97wP+VuIFPAsgGnxv4nR8pkwdvNOMUO/ZSi+Q ewomQoQPAt7N4RyL+C/1nujScfeH55Hu41pNkK5ke4gCa2bpt2r9O+LXp74sVT0SNPnE HXqRGd3jp2yb2QGr1yRLVpXTjlMlTzcsrHGplKw10yBDzKgMkTeY9e7g9vEySUlG9hJN 8uKJ/DRVIwJiPpjVMcvYEaaTtExilwDGebCyFXrZOBcdAyoOe24/mqW67wSDvTTvj9oc PEA3Ol2iTaSelHsta/TJ5IURMnxxwygmFJcwEO0zkZaG0elbfCvADBZ7rVfKd+T9NBqU YngQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=F5ECd+g1; 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 d17si5371688oij.136.2020.01.28.12.21.43; Tue, 28 Jan 2020 12:22:06 -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=F5ECd+g1; 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 S1726141AbgA1UVn (ORCPT + 99 others); Tue, 28 Jan 2020 15:21:43 -0500 Received: from mail-bn8nam12on2106.outbound.protection.outlook.com ([40.107.237.106]:28257 "EHLO NAM12-BN8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726007AbgA1UVm (ORCPT ); Tue, 28 Jan 2020 15:21:42 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nX8RGjfIJzW3abchZs5qAaP2o9amzQLmubHi6vYd+YqDsIRZ9OZ6b7uGipaebhOjbow1vVRuYifYpl5hiJqQI2Sdgk0EmATPh1hfdcFcCNJJISR7NRLw/R3qpGgXctNXaL0IbxGvFa5TaehYYP4MrZlozFF9W5qXOsOJmnmVo9109Iafw72pDFt2apFCM+ZuDnBqWnu96vq3xVvOn/827TdvFm7emmFv6a2Hrc/ZbCwHmQ52vUM9inlc7/YMmApGk7i3tbFxvu+Nx555/QBu4PPWtzNgMDpKo7CKKb8b2DiigHT7mU0IWB4tuxIwVpcWMVowdkd/opdjBfyoRQqYgQ== 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=JTf2mgN6cFQG+opE3rdGE6KP82VVwSh9WUPuGCIg4+c=; b=FvnMdrealgAWZIzcJXE6T2XKJfJ89OTXiErf/WNer8+DxHQKa8jZw6t5EY3LWFqQx5MDOwV0fYRI2+NJoPDZsFPgcbqHzL9xOwe9lJcT7vTMnJUJtOORA/9ICpjPa/SEZQyFO3EFaITx1zfggLswGPONS8QpU3nw3pkgtpNty4XovoV+9AzmZxL02wqfTX4LOmE2Yp3+TSB6iolzGrYq5C8CtQttZGthTmXl5GcCF3Hp5+t+HKxpGs+66QMz6bm5lgN7h75Q/kVWkBhE2WUBBPLfaiwGGNj6Lh7XMHvCyOOTB3LI2Vrh22Rdxdl2g7e6L1C2y6q/0rgxycJ9zPiSwQ== 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=JTf2mgN6cFQG+opE3rdGE6KP82VVwSh9WUPuGCIg4+c=; b=F5ECd+g1HTonYYuoIzlQFfp+hQWVA4OSQ+sWg0W9DIltHQz7C8swYhRgBaZyBhI/hcpaHcXP3tHAUU/hljcl4j+zakcx9H0aWxmCobyR92XYJatWmDTo1MbN4cG5rW7q5PDAY53Y9aF8X5++0bcGD0GA1B4W0N1gue6f8+wwbjw= Received: from BN6PR1301MB2097.namprd13.prod.outlook.com (10.174.87.14) by BN6PR1301MB1971.namprd13.prod.outlook.com (10.174.89.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2686.18; Tue, 28 Jan 2020 20:21:34 +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.2686.019; Tue, 28 Jan 2020 20:21:34 +0000 From: Trond Myklebust To: "bcodding@redhat.com" , "Anna.Schumaker@netapp.com" CC: "linux-nfs@vger.kernel.org" Subject: Re: [PATCH v2] NFS: Revalidate once when holding a delegation Thread-Topic: [PATCH v2] NFS: Revalidate once when holding a delegation Thread-Index: AQHV1e9om4L2YbskUEmxr8p6E5Q5GagAOwsAgABKJQA= Date: Tue, 28 Jan 2020 20:21:34 +0000 Message-ID: References: <9e28aaaff4eae411e0a9d6b94b3d69f7514454cb.camel@hammerspace.com> In-Reply-To: <9e28aaaff4eae411e0a9d6b94b3d69f7514454cb.camel@hammerspace.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: 17e4ad1d-7a15-47b5-9ea5-08d7a42fab94 x-ms-traffictypediagnostic: BN6PR1301MB1971: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 029651C7A1 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(396003)(366004)(346002)(376002)(136003)(39830400003)(189003)(199004)(81156014)(8676002)(81166006)(186003)(316002)(26005)(36756003)(5660300002)(110136005)(8936002)(2616005)(86362001)(4326008)(71200400001)(66946007)(6486002)(6512007)(91956017)(6506007)(76116006)(66476007)(478600001)(2906002)(66446008)(64756008)(66556008);DIR:OUT;SFP:1102;SCL:1;SRVR:BN6PR1301MB1971;H:BN6PR1301MB2097.namprd13.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A: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: bmLvAlgL0hDXhhB8k6AbiHCRWJIo1HstunmmSvQ9xHPLt+FsFzZseKRKvgm2Hfe45UQYMR5rNmQ7QAn8UYVEXYjWd+qoLVkKEs9duSPn3I2cNNawEpoGbwKpuB1CpDVvXUEBM8rk+LNjPd3DpJLJjp1YMiWzrnfofHSQ54w0nWWoCDPnUp8gBFoPmhgGQqD0KIU11a94CSR7WRK7q/nAmObSbcDwjFHNn59bDtxW1SvzIQxab7IP/BVygk7ItjgO1HNSBRxrC0Q+rCFMyb9aAcM9UUhaP6c6nLxQsiXDpGO5ifHveO0nOBVDwFIuKiMTuO5PN6TE9HwigHN8Jyj34in7/xtiSZUNOe+qejWFV+bPz/G3PwbvlHTfXINdwjm+GNFpdZQC1nQiKuZ/3+Mt/eicjaDe/2WQZxBLSWHSffPg3eLpARdOZ6ja78nJVpE7 x-ms-exchange-antispam-messagedata: 4Cd8lIQDx4s5eeDyFlLenZVjfR565rhOLo1vtA1aVAhhfGv/LXIPPMSVcAIsK07KeZ5+t9hxwx1bd+izI2/OF0NklUoJ0d4cq0KRzX2aPXy1EKNG3TzJ9+GHcZfKA9UxpcozmAxjqOdA6L9xAZ9mzA== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <4F5D25EA6B5E6E43BB97A3541D0FA953@namprd13.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: hammerspace.com X-MS-Exchange-CrossTenant-Network-Message-Id: 17e4ad1d-7a15-47b5-9ea5-08d7a42fab94 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jan 2020 20:21:34.2418 (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: uttnuMzi4gXQHMdIenFkPAK47AND4MQwyuVd+UpdgImodtBspZ9Ggi4G3qzYuybJznC6Yxa5qzNKVy6rXmIUbw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR1301MB1971 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org T24gVHVlLCAyMDIwLTAxLTI4IGF0IDEwOjU2IC0wNTAwLCBUcm9uZCBNeWtsZWJ1c3Qgd3JvdGU6 DQo+IE9uIFR1ZSwgMjAyMC0wMS0yOCBhdCAxMDoyNiAtMDUwMCwgQmVuamFtaW4gQ29kZGluZ3Rv biB3cm90ZToNCj4gPiBJZiB3ZSBza2lwIGxvb2t1cCByZXZhbGlkYXRhaW9uIHdoaWxlIGhvbGRp bmcgYSBkZWxlZ2F0aW9uLCB3ZQ0KPiA+IG1pZ2h0DQo+ID4gbWlzcw0KPiA+IHRoYXQgdGhlIGZp bGUgaGFzIGNoYW5nZWQgZGlyZWN0b3JpZXMgb24gdGhlIHNlcnZlci4gIFRoaXMgY2FuDQo+ID4g aGFwcGVuDQo+ID4gaWYNCj4gPiB0aGUgZmlsZSBpcyBtb3ZlZCBpbiBiZXR3ZWVuIHRoZSBjbGll bnQgY2FjaGluZyBhIGRlbnRyeSBhbmQNCj4gPiBvYnRhaW5pbmcgYQ0KPiA+IGRlbGVnYXRpb24u ICBUaGF0IGNhbiBiZSByZXByb2R1Y2VkIG9uIGEgc2luZ2xlIHN5c3RlbSB3aXRoIHRoaXMNCj4g PiBiYXNoOg0KPiA+IA0KPiA+IG1rZGlyIC1wIC9leHBvcnRzL2RpcnsxLDJ9DQo+ID4gZXhwb3J0 ZnMgLW8gcncgbG9jYWxob3N0Oi9leHBvcnRzDQo+ID4gbW91bnQgLXQgbmZzIC1vdjQuMSxub2Fj IGxvY2FsaG9zdDovZXhwb3J0cyAvbW50L2xvY2FsaG9zdA0KPiA+IA0KPiA+IHRvdWNoIC9leHBv cnRzL2RpcjEvZnViYXINCj4gPiANCj4gPiBjYXQgL21udC9sb2NhbGhvc3QvZGlyMS9mdWJhcg0K PiA+IG12IC9tbnQvbG9jYWxob3N0L2RpcnsxLDJ9L2Z1YmFyDQo+ID4gDQo+ID4gbXYgL2V4cG9y dHMvZGlyezIsMX0vZnViYXINCj4gPiANCj4gPiBjYXQgL21udC9sb2NhbGhvc3QvZGlyMS9mdWJh cg0KPiA+IG12IC9tbnQvbG9jYWxob3N0L2RpcnsxLDJ9L2Z1YmFyDQo+ID4gDQo+ID4gSW4gdGhp cyBleGFtcGxlLCB0aGUgZmluYWwgYG12YCB3aWxsIHN0YXQgc291cmNlIGFuZCBkZXN0aW5hdGlv bg0KPiA+IGFuZA0KPiA+IGZpbmQNCj4gPiB0aGV5IGFyZSB0aGUgc2FtZSBkZW50cnkuDQo+ID4g DQo+ID4gVG8gZml4IHRoaXMgd2l0aG91dCBnaXZpbmcgdXAgdGhlIGluY3JlYXNlZCBsb29rdXAg cGVyZm9ybWFuY2UgdGhhdA0KPiA+IGhvbGRpbmcNCj4gPiBhIGRlbGVnYXRpb24gcHJvdmlkZXMs IGxldCdzIHJldmFsaWRhdGUgdGhlIGRlbnRyeSBvbmx5IG9uY2UgYWZ0ZXINCj4gPiBvYnRhaW5p bmcgYSBkZWxlZ2F0aW9uIGJ5IHBsYWNpbmcgYSBtYWdpYyB2YWx1ZSBpbiB0aGUgZGVudHJ5J3MN Cj4gPiB2ZXJpZmllci4NCj4gPiANCj4gPiBTdWdnZXN0ZWQtYnk6IFRyb25kIE15a2xlYnVzdCA8 dHJvbmQubXlrbGVidXN0QGhhbW1lcnNwYWNlLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBCZW5q YW1pbiBDb2RkaW5ndG9uIDxiY29kZGluZ0ByZWRoYXQuY29tPg0KPiA+IC0tLQ0KPiA+ICBmcy9u ZnMvZGlyLmMgfCAyMiArKysrKysrKysrKysrKysrKysrKy0tDQo+ID4gIDEgZmlsZSBjaGFuZ2Vk LCAyMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQ0KPiA+IA0KPiA+IGRpZmYgLS1naXQg YS9mcy9uZnMvZGlyLmMgYi9mcy9uZnMvZGlyLmMNCj4gPiBpbmRleCBlMTgwMDMzZTM1Y2YuLmU5 ZDA3ZGNkNmQ2ZiAxMDA2NDQNCj4gPiAtLS0gYS9mcy9uZnMvZGlyLmMNCj4gPiArKysgYi9mcy9u ZnMvZGlyLmMNCj4gPiBAQCAtOTQ5LDYgKzk0OSw3IEBAIHN0YXRpYyBpbnQgbmZzX2ZzeW5jX2Rp cihzdHJ1Y3QgZmlsZSAqZmlscCwNCj4gPiBsb2ZmX3Qgc3RhcnQsIGxvZmZfdCBlbmQsDQo+ID4g IAlyZXR1cm4gMDsNCj4gPiAgfQ0KPiA+ICANCj4gPiArI2RlZmluZSBORlNfREVMRUdBVElPTl9W RVJGIDB4ZmVlZGRlYWYNCj4gPiAgLyoqDQo+ID4gICAqIG5mc19mb3JjZV9sb29rdXBfcmV2YWxp ZGF0ZSAtIE1hcmsgdGhlIGRpcmVjdG9yeSBhcyBoYXZpbmcNCj4gPiBjaGFuZ2VkDQo+ID4gICAq IEBkaXI6IHBvaW50ZXIgdG8gZGlyZWN0b3J5IGlub2RlDQo+ID4gQEAgLTk2Miw2ICs5NjMsOCBA QCBzdGF0aWMgaW50IG5mc19mc3luY19kaXIoc3RydWN0IGZpbGUgKmZpbHAsDQo+ID4gbG9mZl90 IHN0YXJ0LCBsb2ZmX3QgZW5kLA0KPiA+ICB2b2lkIG5mc19mb3JjZV9sb29rdXBfcmV2YWxpZGF0 ZShzdHJ1Y3QgaW5vZGUgKmRpcikNCj4gPiAgew0KPiA+ICAJTkZTX0koZGlyKS0+Y2FjaGVfY2hh bmdlX2F0dHJpYnV0ZSsrOw0KPiA+ICsJaWYgKE5GU19JKGRpciktPmNhY2hlX2NoYW5nZV9hdHRy aWJ1dGUgPT0gTkZTX0RFTEVHQVRJT05fVkVSRikNCj4gPiArCQlORlNfSShkaXIpLT5jYWNoZV9j aGFuZ2VfYXR0cmlidXRlKys7DQo+IA0KPiBBY3R1YWxseSwgSSB0aGluayBhIHNsaWdodCBtb2Rp ZmljYXRpb24gdG8gdGhpcyBjYW4gbWlnaHQgYmUNCj4gYmVuZWZpY2lhbC4gSWYgd2UgY2hhbmdl IHRvIHRoZSBmb2xsb3dpbmc6DQo+IA0KPiAJaWYgKHVubGlrZWx5KE5GU19JKGRpciktPmNhY2hl X2NoYW5nZV9hdHRyaWJ1dGUgPT0NCj4gTkZTX0RFTEVHQVRJT05fVkVSRiAtIDEpKQ0KPiAJCU5G U19JKGRpciktPmNhY2hlX2NoYW5nZV9hdHRyaWJ1dGUgPQ0KPiBORlNfREVMRUdBVElPTl9WRVJG ICsgMTsNCj4gIAllbHNlDQo+IAkJTkZTX0koZGlyKS0+Y2FjaGVfY2hhbmdlX2F0dHJpYnV0ZSsr Ow0KPiANCg0KLi4uYWN0dWFsbHksIGl0IHdvdWxkIGJlIG5pY2UgdG8gY2xlYW4gdGhhdCB1cCB0 b28gdXNpbmcgYSBkZWNsYXJhdGlvbg0Kb2YgJ3N0cnVjdCBuZnNfaW5vZGUgKm5mc2kgPSBORlNf SShkaXIpKTsnDQoNCj4gdGhlbiB0aGF0IHNob3VsZCBlbnN1cmUgdGhvc2UgcmVhZGVycyBvZiBj YWNoZV9jaGFuZ2VfYXR0cmlidXRlIHRoYXQNCj4gZG8NCj4gbm90IHVzZSBsb2NraW5nIHdpbGwg YWxzbyBuZXZlciBzZWUgdGhlIHZhbHVlIE5GU19ERUxFR0FUSU9OX1ZFUkYNCj4gKGFzc3VtaW5n IHRoYXQgZ2NjIGRvZXNuJ3Qgb3B0aW1pc2UgdGhlIGFib3ZlIHRvIHNvbWV0aGluZyB3ZWlyZCku DQo+IA0KPiA+ICB9DQo+ID4gIEVYUE9SVF9TWU1CT0xfR1BMKG5mc19mb3JjZV9sb29rdXBfcmV2 YWxpZGF0ZSk7DQo+ID4gIA0KPiA+IEBAIC0xMTMzLDYgKzExMzYsNyBAQCBuZnNfbG9va3VwX3Jl dmFsaWRhdGVfZGVudHJ5KHN0cnVjdCBpbm9kZQ0KPiA+ICpkaXIsDQo+ID4gc3RydWN0IGRlbnRy eSAqZGVudHJ5LA0KPiA+ICAJc3RydWN0IG5mc19maCAqZmhhbmRsZTsNCj4gPiAgCXN0cnVjdCBu ZnNfZmF0dHIgKmZhdHRyOw0KPiA+ICAJc3RydWN0IG5mczRfbGFiZWwgKmxhYmVsOw0KPiA+ICsJ dW5zaWduZWQgbG9uZyB2ZXJpZmllcjsNCj4gPiAgCWludCByZXQ7DQo+ID4gIA0KPiA+ICAJcmV0 ID0gLUVOT01FTTsNCj4gPiBAQCAtMTE1NCw2ICsxMTU4LDExIEBAIG5mc19sb29rdXBfcmV2YWxp ZGF0ZV9kZW50cnkoc3RydWN0IGlub2RlDQo+ID4gKmRpciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5 LA0KPiA+ICAJaWYgKG5mc19yZWZyZXNoX2lub2RlKGlub2RlLCBmYXR0cikgPCAwKQ0KPiA+ICAJ CWdvdG8gb3V0Ow0KPiA+ICANCj4gPiArCWlmIChORlNfUFJPVE8oZGlyKS0+aGF2ZV9kZWxlZ2F0 aW9uKGlub2RlLCBGTU9ERV9SRUFEKSkNCj4gPiArCQl2ZXJpZmllciA9IE5GU19ERUxFR0FUSU9O X1ZFUkY7DQo+ID4gKwllbHNlDQo+ID4gKwkJdmVyaWZpZXIgPSBuZnNfc2F2ZV9jaGFuZ2VfYXR0 cmlidXRlKGRpcik7DQo+ID4gKw0KPiA+ICAJbmZzX3NldHNlY3VyaXR5KGlub2RlLCBmYXR0ciwg bGFiZWwpOw0KPiA+ICAJbmZzX3NldF92ZXJpZmllcihkZW50cnksIG5mc19zYXZlX2NoYW5nZV9h dHRyaWJ1dGUoZGlyKSk7DQoNCk9vcHMhIFdoZW4gcmV2aWV3aW5nLCBJIG1pc3NlZCB0aGlzLiBT aG91bGRuJ3QgdGhlIGFib3ZlIGJlIGNoYW5nZWQgdG8NCm5mc19zZXRfdmVyaWZpZXIoZGVudHJ5 LCB2ZXJpZmllcikgPw0KDQo+ID4gIA0KPiA+IEBAIC0xMTY3LDYgKzExNzYsMTUgQEAgbmZzX2xv b2t1cF9yZXZhbGlkYXRlX2RlbnRyeShzdHJ1Y3QgaW5vZGUNCj4gPiAqZGlyLCBzdHJ1Y3QgZGVu dHJ5ICpkZW50cnksDQo+ID4gIAlyZXR1cm4gbmZzX2xvb2t1cF9yZXZhbGlkYXRlX2RvbmUoZGly LCBkZW50cnksIGlub2RlLCByZXQpOw0KPiA+ICB9DQo+ID4gIA0KPiA+ICtzdGF0aWMgaW50IG5m c19kZWxlZ2F0aW9uX21hdGNoZXNfZGVudHJ5KHN0cnVjdCBpbm9kZSAqZGlyLA0KPiA+ICsJCQlz dHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUpDQo+ID4gK3sNCj4gPiAr CWlmIChORlNfUFJPVE8oZGlyKS0+aGF2ZV9kZWxlZ2F0aW9uKGlub2RlLCBGTU9ERV9SRUFEKSAm Jg0KPiA+ICsJCWRlbnRyeS0+ZF90aW1lID09IE5GU19ERUxFR0FUSU9OX1ZFUkYpDQo+ID4gKwkJ cmV0dXJuIDE7DQo+ID4gKwlyZXR1cm4gMDsNCj4gPiArfQ0KPiA+ICsNCj4gPiAgLyoNCj4gPiAg ICogVGhpcyBpcyBjYWxsZWQgZXZlcnkgdGltZSB0aGUgZGNhY2hlIGhhcyBhIGxvb2t1cCBoaXQs DQo+ID4gICAqIGFuZCB3ZSBzaG91bGQgY2hlY2sgd2hldGhlciB3ZSBjYW4gcmVhbGx5IHRydXN0 IHRoYXQNCj4gPiBAQCAtMTE5Nyw3ICsxMjE1LDcgQEAgbmZzX2RvX2xvb2t1cF9yZXZhbGlkYXRl KHN0cnVjdCBpbm9kZSAqZGlyLA0KPiA+IHN0cnVjdCBkZW50cnkgKmRlbnRyeSwNCj4gPiAgCQln b3RvIG91dF9iYWQ7DQo+ID4gIAl9DQo+ID4gIA0KPiA+IC0JaWYgKE5GU19QUk9UTyhkaXIpLT5o YXZlX2RlbGVnYXRpb24oaW5vZGUsIEZNT0RFX1JFQUQpKQ0KPiA+ICsJaWYgKG5mc19kZWxlZ2F0 aW9uX21hdGNoZXNfZGVudHJ5KGRpciwgZGVudHJ5LCBpbm9kZSkpDQo+ID4gIAkJcmV0dXJuIG5m c19sb29rdXBfcmV2YWxpZGF0ZV9kZWxlZ2F0ZWQoZGlyLCBkZW50cnksDQo+ID4gaW5vZGUpOw0K PiA+ICANCj4gPiAgCS8qIEZvcmNlIGEgZnVsbCBsb29rIHVwIGlmZiB0aGUgcGFyZW50IGRpcmVj dG9yeSBoYXMgY2hhbmdlZCAqLw0KPiA+IEBAIC0xNjM1LDcgKzE2NTMsNyBAQCBuZnM0X2RvX2xv b2t1cF9yZXZhbGlkYXRlKHN0cnVjdCBpbm9kZSAqZGlyLA0KPiA+IHN0cnVjdCBkZW50cnkgKmRl bnRyeSwNCj4gPiAgCWlmIChpbm9kZSA9PSBOVUxMKQ0KPiA+ICAJCWdvdG8gZnVsbF9yZXZhbDsN Cj4gPiAgDQo+ID4gLQlpZiAoTkZTX1BST1RPKGRpciktPmhhdmVfZGVsZWdhdGlvbihpbm9kZSwg Rk1PREVfUkVBRCkpDQo+ID4gKwlpZiAobmZzX2RlbGVnYXRpb25fbWF0Y2hlc19kZW50cnkoZGly LCBkZW50cnksIGlub2RlKSkNCj4gPiAgCQlyZXR1cm4gbmZzX2xvb2t1cF9yZXZhbGlkYXRlX2Rl bGVnYXRlZChkaXIsIGRlbnRyeSwNCj4gPiBpbm9kZSk7DQo+ID4gIA0KPiA+ICAJLyogTkZTIG9u bHkgc3VwcG9ydHMgT1BFTiBvbiByZWd1bGFyIGZpbGVzICovDQotLSANClRyb25kIE15a2xlYnVz dA0KTGludXggTkZTIGNsaWVudCBtYWludGFpbmVyLCBIYW1tZXJzcGFjZQ0KdHJvbmQubXlrbGVi dXN0QGhhbW1lcnNwYWNlLmNvbQ0KDQoNCg==