Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp853100ybl; Tue, 28 Jan 2020 13:30:36 -0800 (PST) X-Google-Smtp-Source: APXvYqyVJQwpmXxfnRM0XCmlD8zIDAw4C98zF9LRQZWs29eiHMmEQ/m7YspCLoFlO2Sc4un1tvdQ X-Received: by 2002:aca:aa0a:: with SMTP id t10mr4179300oie.156.1580247036737; Tue, 28 Jan 2020 13:30:36 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1580247036; cv=pass; d=google.com; s=arc-20160816; b=NQVVsHQgrWDOrfou4QmlViTaA6mE9hCr4aZuUqbqol79e84cNpotiX79Noffa/ZmSU 8ok9M1I5Hwyc/UxWGTdw4COQfeckhZ/zWv89m0eRy5l4mRd83/0NutBCS8SKcymiPbHE 4iyWFjMCxAhqfOQ2AE5j/YJbX7Lu9JFz+CE2ZUvdHLwz06iMlZr9RzI2IwQc4qMWYq/6 7y1afpQWvu1BhKE3yKb/9iKIISFLavOz3oo+XwZybB1I4mWE4WUXH7ZRuAAgiq+lWtCt XnUFXY8iSFAq7+bJaeptDlsrI1StXNnibp6Laj02VrtPoo5QtlrVDGu7tGHH5BWiJmVD 6qoQ== 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=8lwiJboJmJOZ/2fUPLZ6W3tW6bDiZL95I5uQHr1fDEE=; b=rE9cOorlpy2bN114LgHXLn3/pI0JvQ7WPdywR4TdEam24GteOti2gmsKDvRQ+n2T1W spWaZuPcHjXWTa5iVjE6nj3FRrF81DP4DQsjQg0eKlDkzpEHAOgt1ZKp+X5q2mCG5Tl7 soNkruxkAXxiXoXBu46P4uV2+hZYQioMe+4oJLLAgTBshMtlsrSKEcxAKi3lVs8D+2Tv 0RkFm/HIZyGvpTI6Za610hPdan+lik3NJSzElqOmp35A0bY+GyjSaX/EFV0+/QRzT23l 9+hRFQEgpZ6O/9nHkUW3U89nGYjbmhgJKpZFFPKWdEKTN/lcb/oXbaMdMtwYfGiK0p1h GmNw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=ArB6fWTT; 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 e1si7871559otr.8.2020.01.28.13.30.24; Tue, 28 Jan 2020 13:30:36 -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=ArB6fWTT; 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 S1726234AbgA1VaX (ORCPT + 99 others); Tue, 28 Jan 2020 16:30:23 -0500 Received: from mail-bn8nam12on2123.outbound.protection.outlook.com ([40.107.237.123]:35488 "EHLO NAM12-BN8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726211AbgA1VaX (ORCPT ); Tue, 28 Jan 2020 16:30:23 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Bo5SxmmMrTMONNFMkCO5nZaEeSwvPyki92l2a0TcvOK26CsCSdCro7JcjlkbHDIRZrEOwp8u43cGy8pgdlKmw7pf6wqKmjhoEdCellB7kfyD/WV1Oq02xd6EINLXzm0K+lczcVuJ41FqiDh92SrMpb/uQFJChEcP+O5twD1iphrl0iORr9oDZwQ2M+Ns+HtZMOzoDQ6Ku0fB8N7559P7ipx9i6O24I7Yk0ftpMQlsLmsMAnu5PMhovKbw87emnPPhrU7lqvZrHu552CiGraUguWK9n4RYkHrdv1OPJiJRKL1dEPTnNWEfJllaDDV40aJjRV4QWvk6+h3sMzfqalVBw== 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=8lwiJboJmJOZ/2fUPLZ6W3tW6bDiZL95I5uQHr1fDEE=; b=m29NsHfYcpT817XbvOxh1rLf449/xaQgK7hhNFJmcZhEnvdRmnoqgxd98Y8E9Mm+oTCXFmWKIkSpdlzv6CwU7OLuEaDgWb50yZAO6gVx1pYWWd6DCQ+eFUzcFSSm2al9oC3ohBfds4URtL3xPzcmFg4gFtjfEgVQWRIE79qfBEuVagAyTs1Wfi95I1ozROV8VH07LLO/LXXu9bcSIs03WslVXUOeHT8a4UaUpnWyI+o/8UwncUkcNOZnyGfd9PeR7GK123NkE3rCSv4JXrAQmiq4zPibr2rqIjSMIZVNrDcyIL8/LmfPnyIM3+rSxRf2cT5bsylt/5iZb4Wn/gkc8Q== 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=8lwiJboJmJOZ/2fUPLZ6W3tW6bDiZL95I5uQHr1fDEE=; b=ArB6fWTTe6/x+nn/n8y1vxKDT7qa2Y1vUOHm7TV6jvEjDwHoZh9nqDnjm/bAwNvDh6dhbNp7Hy/iOqMXaio3fsWjAU2tvenYXtHLw9LZ7ZaEcwOV4A4K2ZxbSKlRpIxQD3/8Ri75QKIsYGi4OoC3rEbPwlfefdd5HEZ8yzM1JvM= Received: from BN6PR1301MB2097.namprd13.prod.outlook.com (10.174.87.14) by BN6PR1301MB1891.namprd13.prod.outlook.com (10.174.86.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2686.15; Tue, 28 Jan 2020 21:30:05 +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 21:30:05 +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: AQHV1e9om4L2YbskUEmxr8p6E5Q5GagAOwsAgABKJQCAABCKAIAAApwA Date: Tue, 28 Jan 2020 21:30:05 +0000 Message-ID: <5e157e8a6298ecb640414591988c1e76e8a6fd40.camel@hammerspace.com> References: <9e28aaaff4eae411e0a9d6b94b3d69f7514454cb.camel@hammerspace.com> In-Reply-To: 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: 7118025c-02b8-4878-c85e-08d7a4393e10 x-ms-traffictypediagnostic: BN6PR1301MB1891: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 029651C7A1 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(346002)(396003)(136003)(376002)(39840400004)(366004)(189003)(199004)(81166006)(8936002)(66446008)(6506007)(86362001)(81156014)(478600001)(6486002)(64756008)(66556008)(2906002)(6512007)(2616005)(66946007)(5660300002)(66476007)(8676002)(76116006)(15974865002)(71200400001)(110136005)(186003)(91956017)(316002)(36756003)(26005)(4326008);DIR:OUT;SFP:1102;SCL:1;SRVR:BN6PR1301MB1891;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: 09avHKL7JOyB7zbAI+fJwxczMmOlCNj5QC3ULmgnPqItAf4jOmf3yAz5aTrun1XBPrUu90z/9KZColz2PwSokPNpzjrIEW2gp/69tmk9TZbFa+KguFkUe6ffM3vhZ5xWHPYFd5csnAeG9oHkS9k3LqYueaLNZxznnyggXpynLM4ozNfZO/z+BPxE1zxO3qtwIdcy/bJDxGQJmGOsWrHrIHdAV/2lGWYWAupUkFxUV0UetPF9DgpvrKMHj3Dmn6I0tyMdBFdHMHSFiynbQW0AiP8iqMWXdY2BmMqsDz4p+MROqLxUWTwMTDWesn53rYxdGVivtyNaFXMrImiu0GIFT+bKLBN1F4D9lv20RjRyMmXjEcEEqpUwSSo0zgxPCLsZn/RerLE1eRbA8xDYXlCxyTpzbTvhVDqcG8IvC6HAWq3QNem31mkrd7dBtbSYdQtzR8hayW+uzl0L+Gy8TVBM63nFFW4uRBZJWncUW7meMUZkcadyw6/6RGg1p0zyAXw7kzpcpE9N7zxX90EBiYXNzw== x-ms-exchange-antispam-messagedata: aqvze5n7ZATAT8msDnayFD6fcExOhzDM+Xf7v7+o8SBkGc34W1kMMrw7rYcuG5A6DiYBe3wDxHM9lKDigMTXDqpLtArreqafnEvYw3EYlLGd8/TZtQidSwDHiE6B1y+l/82zuk1WVgFIdINQnKGpNQ== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <7B290029929B704AAB728B401230945E@namprd13.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: hammerspace.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7118025c-02b8-4878-c85e-08d7a4393e10 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jan 2020 21:30:05.5294 (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: Af2Ckzxu2p3/iPB4joD/D6wbdG+HZJf4xfe8koZy5HYHC/+LbrS1ViREhxlW8E21mkbKzvsfxKRr3ZjQ1A+CSQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR1301MB1891 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org T24gVHVlLCAyMDIwLTAxLTI4IGF0IDE2OjIwIC0wNTAwLCBUcm9uZCBNeWtsZWJ1c3Qgd3JvdGU6 DQo+IE9uIFR1ZSwgMjAyMC0wMS0yOCBhdCAxNToyMSAtMDUwMCwgVHJvbmQgTXlrbGVidXN0IHdy b3RlOg0KPiA+IE9uIFR1ZSwgMjAyMC0wMS0yOCBhdCAxMDo1NiAtMDUwMCwgVHJvbmQgTXlrbGVi dXN0IHdyb3RlOg0KPiA+ID4gT24gVHVlLCAyMDIwLTAxLTI4IGF0IDEwOjI2IC0wNTAwLCBCZW5q YW1pbiBDb2RkaW5ndG9uIHdyb3RlOg0KPiA+ID4gPiBJZiB3ZSBza2lwIGxvb2t1cCByZXZhbGlk YXRhaW9uIHdoaWxlIGhvbGRpbmcgYSBkZWxlZ2F0aW9uLCB3ZQ0KPiA+ID4gPiBtaWdodA0KPiA+ ID4gPiBtaXNzDQo+ID4gPiA+IHRoYXQgdGhlIGZpbGUgaGFzIGNoYW5nZWQgZGlyZWN0b3JpZXMg b24gdGhlIHNlcnZlci4gIFRoaXMgY2FuDQo+ID4gPiA+IGhhcHBlbg0KPiA+ID4gPiBpZg0KPiA+ ID4gPiB0aGUgZmlsZSBpcyBtb3ZlZCBpbiBiZXR3ZWVuIHRoZSBjbGllbnQgY2FjaGluZyBhIGRl bnRyeSBhbmQNCj4gPiA+ID4gb2J0YWluaW5nIGENCj4gPiA+ID4gZGVsZWdhdGlvbi4gIFRoYXQg Y2FuIGJlIHJlcHJvZHVjZWQgb24gYSBzaW5nbGUgc3lzdGVtIHdpdGgNCj4gPiA+ID4gdGhpcw0K PiA+ID4gPiBiYXNoOg0KPiA+ID4gPiANCj4gPiA+ID4gbWtkaXIgLXAgL2V4cG9ydHMvZGlyezEs Mn0NCj4gPiA+ID4gZXhwb3J0ZnMgLW8gcncgbG9jYWxob3N0Oi9leHBvcnRzDQo+ID4gPiA+IG1v dW50IC10IG5mcyAtb3Y0LjEsbm9hYyBsb2NhbGhvc3Q6L2V4cG9ydHMgL21udC9sb2NhbGhvc3QN Cj4gPiA+ID4gDQo+ID4gPiA+IHRvdWNoIC9leHBvcnRzL2RpcjEvZnViYXINCj4gPiA+ID4gDQo+ ID4gPiA+IGNhdCAvbW50L2xvY2FsaG9zdC9kaXIxL2Z1YmFyDQo+ID4gPiA+IG12IC9tbnQvbG9j YWxob3N0L2RpcnsxLDJ9L2Z1YmFyDQo+ID4gPiA+IA0KPiA+ID4gPiBtdiAvZXhwb3J0cy9kaXJ7 MiwxfS9mdWJhcg0KPiA+ID4gPiANCj4gPiA+ID4gY2F0IC9tbnQvbG9jYWxob3N0L2RpcjEvZnVi YXINCj4gPiA+ID4gbXYgL21udC9sb2NhbGhvc3QvZGlyezEsMn0vZnViYXINCj4gPiA+ID4gDQo+ ID4gPiA+IEluIHRoaXMgZXhhbXBsZSwgdGhlIGZpbmFsIGBtdmAgd2lsbCBzdGF0IHNvdXJjZSBh bmQNCj4gPiA+ID4gZGVzdGluYXRpb24NCj4gPiA+ID4gYW5kDQo+ID4gPiA+IGZpbmQNCj4gPiA+ ID4gdGhleSBhcmUgdGhlIHNhbWUgZGVudHJ5Lg0KPiA+ID4gPiANCj4gPiA+ID4gVG8gZml4IHRo aXMgd2l0aG91dCBnaXZpbmcgdXAgdGhlIGluY3JlYXNlZCBsb29rdXAgcGVyZm9ybWFuY2UNCj4g PiA+ID4gdGhhdA0KPiA+ID4gPiBob2xkaW5nDQo+ID4gPiA+IGEgZGVsZWdhdGlvbiBwcm92aWRl cywgbGV0J3MgcmV2YWxpZGF0ZSB0aGUgZGVudHJ5IG9ubHkgb25jZQ0KPiA+ID4gPiBhZnRlcg0K PiA+ID4gPiBvYnRhaW5pbmcgYSBkZWxlZ2F0aW9uIGJ5IHBsYWNpbmcgYSBtYWdpYyB2YWx1ZSBp biB0aGUgZGVudHJ5J3MNCj4gPiA+ID4gdmVyaWZpZXIuDQo+ID4gPiA+IA0KPiA+ID4gPiBTdWdn ZXN0ZWQtYnk6IFRyb25kIE15a2xlYnVzdCA8dHJvbmQubXlrbGVidXN0QGhhbW1lcnNwYWNlLmNv bT4NCj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gQ29kZGluZ3RvbiA8YmNvZGRpbmdA cmVkaGF0LmNvbT4NCj4gPiA+ID4gLS0tDQo+ID4gPiA+ICBmcy9uZnMvZGlyLmMgfCAyMiArKysr KysrKysrKysrKysrKysrKy0tDQo+ID4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkNCj4gPiA+ID4gDQo+ID4gPiA+IGRpZmYgLS1naXQgYS9mcy9u ZnMvZGlyLmMgYi9mcy9uZnMvZGlyLmMNCj4gPiA+ID4gaW5kZXggZTE4MDAzM2UzNWNmLi5lOWQw N2RjZDZkNmYgMTAwNjQ0DQo+ID4gPiA+IC0tLSBhL2ZzL25mcy9kaXIuYw0KPiA+ID4gPiArKysg Yi9mcy9uZnMvZGlyLmMNCj4gPiA+ID4gQEAgLTk0OSw2ICs5NDksNyBAQCBzdGF0aWMgaW50IG5m c19mc3luY19kaXIoc3RydWN0IGZpbGUgKmZpbHAsDQo+ID4gPiA+IGxvZmZfdCBzdGFydCwgbG9m Zl90IGVuZCwNCj4gPiA+ID4gIAlyZXR1cm4gMDsNCj4gPiA+ID4gIH0NCj4gPiA+ID4gIA0KPiA+ ID4gPiArI2RlZmluZSBORlNfREVMRUdBVElPTl9WRVJGIDB4ZmVlZGRlYWYNCj4gPiA+ID4gIC8q Kg0KPiA+ID4gPiAgICogbmZzX2ZvcmNlX2xvb2t1cF9yZXZhbGlkYXRlIC0gTWFyayB0aGUgZGly ZWN0b3J5IGFzIGhhdmluZw0KPiA+ID4gPiBjaGFuZ2VkDQo+ID4gPiA+ICAgKiBAZGlyOiBwb2lu dGVyIHRvIGRpcmVjdG9yeSBpbm9kZQ0KPiA+ID4gPiBAQCAtOTYyLDYgKzk2Myw4IEBAIHN0YXRp YyBpbnQgbmZzX2ZzeW5jX2RpcihzdHJ1Y3QgZmlsZSAqZmlscCwNCj4gPiA+ID4gbG9mZl90IHN0 YXJ0LCBsb2ZmX3QgZW5kLA0KPiA+ID4gPiAgdm9pZCBuZnNfZm9yY2VfbG9va3VwX3JldmFsaWRh dGUoc3RydWN0IGlub2RlICpkaXIpDQo+ID4gPiA+ICB7DQo+ID4gPiA+ICAJTkZTX0koZGlyKS0+ Y2FjaGVfY2hhbmdlX2F0dHJpYnV0ZSsrOw0KPiA+ID4gPiArCWlmIChORlNfSShkaXIpLT5jYWNo ZV9jaGFuZ2VfYXR0cmlidXRlID09DQo+ID4gPiA+IE5GU19ERUxFR0FUSU9OX1ZFUkYpDQo+ID4g PiA+ICsJCU5GU19JKGRpciktPmNhY2hlX2NoYW5nZV9hdHRyaWJ1dGUrKzsNCj4gPiA+IA0KPiA+ ID4gQWN0dWFsbHksIEkgdGhpbmsgYSBzbGlnaHQgbW9kaWZpY2F0aW9uIHRvIHRoaXMgY2FuIG1p Z2h0IGJlDQo+ID4gPiBiZW5lZmljaWFsLiBJZiB3ZSBjaGFuZ2UgdG8gdGhlIGZvbGxvd2luZzoN Cj4gPiA+IA0KPiA+ID4gCWlmICh1bmxpa2VseShORlNfSShkaXIpLT5jYWNoZV9jaGFuZ2VfYXR0 cmlidXRlID09DQo+ID4gPiBORlNfREVMRUdBVElPTl9WRVJGIC0gMSkpDQo+ID4gPiAJCU5GU19J KGRpciktPmNhY2hlX2NoYW5nZV9hdHRyaWJ1dGUgPQ0KPiA+ID4gTkZTX0RFTEVHQVRJT05fVkVS RiArIDE7DQo+ID4gPiAgCWVsc2UNCj4gPiA+IAkJTkZTX0koZGlyKS0+Y2FjaGVfY2hhbmdlX2F0 dHJpYnV0ZSsrOw0KPiA+ID4gDQo+ID4gDQo+ID4gLi4uYWN0dWFsbHksIGl0IHdvdWxkIGJlIG5p Y2UgdG8gY2xlYW4gdGhhdCB1cCB0b28gdXNpbmcgYQ0KPiA+IGRlY2xhcmF0aW9uDQo+ID4gb2Yg J3N0cnVjdCBuZnNfaW5vZGUgKm5mc2kgPSBORlNfSShkaXIpKTsnDQo+ID4gDQo+ID4gPiB0aGVu IHRoYXQgc2hvdWxkIGVuc3VyZSB0aG9zZSByZWFkZXJzIG9mIGNhY2hlX2NoYW5nZV9hdHRyaWJ1 dGUNCj4gPiA+IHRoYXQNCj4gPiA+IGRvDQo+ID4gPiBub3QgdXNlIGxvY2tpbmcgd2lsbCBhbHNv IG5ldmVyIHNlZSB0aGUgdmFsdWUgTkZTX0RFTEVHQVRJT05fVkVSRg0KPiA+ID4gKGFzc3VtaW5n IHRoYXQgZ2NjIGRvZXNuJ3Qgb3B0aW1pc2UgdGhlIGFib3ZlIHRvIHNvbWV0aGluZw0KPiA+ID4g d2VpcmQpLg0KPiA+ID4gDQo+ID4gPiA+ICB9DQo+ID4gPiA+ICBFWFBPUlRfU1lNQk9MX0dQTChu ZnNfZm9yY2VfbG9va3VwX3JldmFsaWRhdGUpOw0KPiA+ID4gPiAgDQo+ID4gPiA+IEBAIC0xMTMz LDYgKzExMzYsNyBAQCBuZnNfbG9va3VwX3JldmFsaWRhdGVfZGVudHJ5KHN0cnVjdCBpbm9kZQ0K PiA+ID4gPiAqZGlyLA0KPiA+ID4gPiBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksDQo+ID4gPiA+ICAJ c3RydWN0IG5mc19maCAqZmhhbmRsZTsNCj4gPiA+ID4gIAlzdHJ1Y3QgbmZzX2ZhdHRyICpmYXR0 cjsNCj4gPiA+ID4gIAlzdHJ1Y3QgbmZzNF9sYWJlbCAqbGFiZWw7DQo+ID4gPiA+ICsJdW5zaWdu ZWQgbG9uZyB2ZXJpZmllcjsNCj4gPiA+ID4gIAlpbnQgcmV0Ow0KPiA+ID4gPiAgDQo+ID4gPiA+ ICAJcmV0ID0gLUVOT01FTTsNCj4gPiA+ID4gQEAgLTExNTQsNiArMTE1OCwxMSBAQCBuZnNfbG9v a3VwX3JldmFsaWRhdGVfZGVudHJ5KHN0cnVjdA0KPiA+ID4gPiBpbm9kZQ0KPiA+ID4gPiAqZGly LCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksDQo+ID4gPiA+ICAJaWYgKG5mc19yZWZyZXNoX2lub2Rl KGlub2RlLCBmYXR0cikgPCAwKQ0KPiA+ID4gPiAgCQlnb3RvIG91dDsNCj4gPiA+ID4gIA0KPiA+ ID4gPiArCWlmIChORlNfUFJPVE8oZGlyKS0+aGF2ZV9kZWxlZ2F0aW9uKGlub2RlLCBGTU9ERV9S RUFEKSkNCj4gPiA+ID4gKwkJdmVyaWZpZXIgPSBORlNfREVMRUdBVElPTl9WRVJGOw0KPiA+ID4g PiArCWVsc2UNCj4gPiA+ID4gKwkJdmVyaWZpZXIgPSBuZnNfc2F2ZV9jaGFuZ2VfYXR0cmlidXRl KGRpcik7DQo+ID4gPiA+ICsNCj4gPiA+ID4gIAluZnNfc2V0c2VjdXJpdHkoaW5vZGUsIGZhdHRy LCBsYWJlbCk7DQo+ID4gPiA+ICAJbmZzX3NldF92ZXJpZmllcihkZW50cnksDQo+ID4gPiA+IG5m c19zYXZlX2NoYW5nZV9hdHRyaWJ1dGUoZGlyKSk7DQo+ID4gDQo+ID4gT29wcyEgV2hlbiByZXZp ZXdpbmcsIEkgbWlzc2VkIHRoaXMuIFNob3VsZG4ndCB0aGUgYWJvdmUgYmUgY2hhbmdlZA0KPiA+ IHRvDQo+ID4gbmZzX3NldF92ZXJpZmllcihkZW50cnksIHZlcmlmaWVyKSA/DQo+IA0KPiAuLi5h bmQgb24gYSBzaW1pbGFyIHZlaW46IG5mc19sb29rdXBfcmV2YWxpZGF0ZV9kZWxlZ2F0ZWQoKSBu ZWVkcyB0bw0KPiBjaGFuZ2Ugc28gYXMgdG8gbm90IHJlc2V0IHRoZSB2ZXJpZmllci4uLg0KPiAN Cj4gU29ycnkgZm9yIG5vdCBjYXRjaGluZyB0aGF0IG9uZSBlaXRoZXIuDQoNCk5vdCBteSBkYXku Li4NCg0KbmZzX3ByaW1lX2RjYWNoZSgpIHdpbGwgY2xvYmJlciB0aGUgdmVyaWZpZXIgdG9vIGlu IHRoZSBuZnNfc2FtZV9maWxlKCkNCmNhc2UuIFRoYXQgb25lIGFsc28gbmVlZHMgdG8gc2V0IE5G U19ERUxFR0FUSU9OX1ZFUkYgaWYgdGhlcmUgaXMgYQ0KZGVsZWdhdGlvbi4NCg0KUGVyaGFwcyBh ZGQgYSBoZWxwZXIgZnVuY3Rpb24gZm9yIHRoYXQgKw0KbmZzX2xvb2t1cF9yZXZhbGlkYXRlX2Rl bnRyeSgpPw0KDQo+IA0KPiA+ID4gPiAgDQo+ID4gPiA+IEBAIC0xMTY3LDYgKzExNzYsMTUgQEAg bmZzX2xvb2t1cF9yZXZhbGlkYXRlX2RlbnRyeShzdHJ1Y3QNCj4gPiA+ID4gaW5vZGUNCj4gPiA+ ID4gKmRpciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LA0KPiA+ID4gPiAgCXJldHVybiBuZnNfbG9v a3VwX3JldmFsaWRhdGVfZG9uZShkaXIsIGRlbnRyeSwgaW5vZGUsDQo+ID4gPiA+IHJldCk7DQo+ ID4gPiA+ICB9DQo+ID4gPiA+ICANCj4gPiA+ID4gK3N0YXRpYyBpbnQgbmZzX2RlbGVnYXRpb25f bWF0Y2hlc19kZW50cnkoc3RydWN0IGlub2RlICpkaXIsDQo+ID4gPiA+ICsJCQlzdHJ1Y3QgZGVu dHJ5ICpkZW50cnksIHN0cnVjdCBpbm9kZQ0KPiA+ID4gPiAqaW5vZGUpDQo+ID4gPiA+ICt7DQo+ ID4gPiA+ICsJaWYgKE5GU19QUk9UTyhkaXIpLT5oYXZlX2RlbGVnYXRpb24oaW5vZGUsIEZNT0RF X1JFQUQpDQo+ID4gPiA+ICYmDQo+ID4gPiA+ICsJCWRlbnRyeS0+ZF90aW1lID09IE5GU19ERUxF R0FUSU9OX1ZFUkYpDQo+ID4gPiA+ICsJCXJldHVybiAxOw0KPiA+ID4gPiArCXJldHVybiAwOw0K PiA+ID4gPiArfQ0KPiA+ID4gPiArDQo+ID4gPiA+ICAvKg0KPiA+ID4gPiAgICogVGhpcyBpcyBj YWxsZWQgZXZlcnkgdGltZSB0aGUgZGNhY2hlIGhhcyBhIGxvb2t1cCBoaXQsDQo+ID4gPiA+ICAg KiBhbmQgd2Ugc2hvdWxkIGNoZWNrIHdoZXRoZXIgd2UgY2FuIHJlYWxseSB0cnVzdCB0aGF0DQo+ ID4gPiA+IEBAIC0xMTk3LDcgKzEyMTUsNyBAQCBuZnNfZG9fbG9va3VwX3JldmFsaWRhdGUoc3Ry dWN0IGlub2RlDQo+ID4gPiA+ICpkaXIsDQo+ID4gPiA+IHN0cnVjdCBkZW50cnkgKmRlbnRyeSwN Cj4gPiA+ID4gIAkJZ290byBvdXRfYmFkOw0KPiA+ID4gPiAgCX0NCj4gPiA+ID4gIA0KPiA+ID4g PiAtCWlmIChORlNfUFJPVE8oZGlyKS0+aGF2ZV9kZWxlZ2F0aW9uKGlub2RlLCBGTU9ERV9SRUFE KSkNCj4gPiA+ID4gKwlpZiAobmZzX2RlbGVnYXRpb25fbWF0Y2hlc19kZW50cnkoZGlyLCBkZW50 cnksIGlub2RlKSkNCj4gPiA+ID4gIAkJcmV0dXJuIG5mc19sb29rdXBfcmV2YWxpZGF0ZV9kZWxl Z2F0ZWQoZGlyLA0KPiA+ID4gPiBkZW50cnksDQo+ID4gPiA+IGlub2RlKTsNCj4gPiA+ID4gIA0K PiA+ID4gPiAgCS8qIEZvcmNlIGEgZnVsbCBsb29rIHVwIGlmZiB0aGUgcGFyZW50IGRpcmVjdG9y eSBoYXMNCj4gPiA+ID4gY2hhbmdlZCAqLw0KPiA+ID4gPiBAQCAtMTYzNSw3ICsxNjUzLDcgQEAg bmZzNF9kb19sb29rdXBfcmV2YWxpZGF0ZShzdHJ1Y3QgaW5vZGUNCj4gPiA+ID4gKmRpciwNCj4g PiA+ID4gc3RydWN0IGRlbnRyeSAqZGVudHJ5LA0KPiA+ID4gPiAgCWlmIChpbm9kZSA9PSBOVUxM KQ0KPiA+ID4gPiAgCQlnb3RvIGZ1bGxfcmV2YWw7DQo+ID4gPiA+ICANCj4gPiA+ID4gLQlpZiAo TkZTX1BST1RPKGRpciktPmhhdmVfZGVsZWdhdGlvbihpbm9kZSwgRk1PREVfUkVBRCkpDQo+ID4g PiA+ICsJaWYgKG5mc19kZWxlZ2F0aW9uX21hdGNoZXNfZGVudHJ5KGRpciwgZGVudHJ5LCBpbm9k ZSkpDQo+ID4gPiA+ICAJCXJldHVybiBuZnNfbG9va3VwX3JldmFsaWRhdGVfZGVsZWdhdGVkKGRp ciwNCj4gPiA+ID4gZGVudHJ5LA0KPiA+ID4gPiBpbm9kZSk7DQo+ID4gPiA+ICANCj4gPiA+ID4g IAkvKiBORlMgb25seSBzdXBwb3J0cyBPUEVOIG9uIHJlZ3VsYXIgZmlsZXMgKi8NCi0tIA0KVHJv bmQgTXlrbGVidXN0DQpDVE8sIEhhbW1lcnNwYWNlIEluYw0KNDMwMCBFbCBDYW1pbm8gUmVhbCwg U3VpdGUgMTA1DQpMb3MgQWx0b3MsIENBIDk0MDIyDQp3d3cuaGFtbWVyLnNwYWNlDQoNCg==