Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp32293pxb; Wed, 4 Nov 2020 13:36:56 -0800 (PST) X-Google-Smtp-Source: ABdhPJwZ7ktGHwULGucmLBEI/W2kTy6DumkMZHjM3wdxsradHSkSn6u+6eLSafkldIBXvTYCYubk X-Received: by 2002:a17:906:f98e:: with SMTP id li14mr81877ejb.75.1604525816668; Wed, 04 Nov 2020 13:36:56 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1604525816; cv=pass; d=google.com; s=arc-20160816; b=TKlv2r/4RtloQ8epPM8T0V477F8XenQnEf6OTlufb5ZE9V5nPNtE0Li9qec4fyLLqq BJRKvhfiTDxeLayEqcIcERWp5tNRJ4PoYfqZ6sHff68W0oeiI0MKHSx+i9/2Op6c+x38 eTRffM9L1DIpRD4MsR+Ey++pA0OC8ccR1cZUxIDV7EGDs/8+LrqJe8h7dmb/NEbSMhzG Wjxt6k+7liWDLWFOZT37NbdPhClcCEuns//j5fO46O3Nm+R3ONlJ0XXg4NwUGBW8IR+w hQPV9V6nhF6qZw89s7KSRTj35zjBN2c6XUtS10UY1OiFxZcrg6eAW7elYXjR9OeqSKoP WRPQ== 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=DFzN9cX1Q9EwYmKZh4iWH/ucsDrQ6qkn9edSUjTcW1g=; b=dZRzZwMn6dOEXD5fcecoLhqpAz41Jz6ZOQaEgT/XfQvUC50y8mIgO8baxnr5HAFJgG U6V/fUhb71Bt6IvGqtMp3qEmUPMWgjae2Pc3gWxfgLyMtz0L2hzK5cjqGl8IuJddpRvo L32SAx7vGoIqHenTwE04+XjBhoWl9NWDWf1ITtRuUfDMz++nUL1+pGqtQVGaVICi2o8q LLpFLWykvjvz1s1TI3QG56sodjeBAkRT3EmDU1ZdR6MrmwF0UxDtG4lxeXBlFJoVReVC UZFmtK+hVMOwzyqaq7dQCvBMhC34sD1aI+tMrVFDuGkZIaIvDx+RvzI9u+Jun+31cewu H2yg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=Bbk+UvB2; 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 n24si2061717ejb.608.2020.11.04.13.36.27; Wed, 04 Nov 2020 13:36:56 -0800 (PST) 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=Bbk+UvB2; 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 S1726827AbgKDVby (ORCPT + 99 others); Wed, 4 Nov 2020 16:31:54 -0500 Received: from mail-dm6nam12on2136.outbound.protection.outlook.com ([40.107.243.136]:29664 "EHLO NAM12-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727098AbgKDVbx (ORCPT ); Wed, 4 Nov 2020 16:31:53 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cqFNko6axsiKBUX8+hh/xEBXo6l3gQDALNEyn1Ploa5MRObykc1p4MRoi4QW+57mVLzagIDcSCsezPOvP2FzHDPwaSQXZzyfwZC1fA+cnckVvv5GIfV93k1VjPhuP2WEe8nq3hSRzdJ2Y9nb++Ha2ng/23NGHvYCNuH1QaGY4NWCVjVZShS4Uwtj0MXu0oMzePXve6G4Lz9NeKBnKCwCmcOS5MIE/NLBa04oXIZoQRpGYt8QuJgou/uANfZCS1sEvXXoaa/Nm5s+Ak1S/DI7hznexzz4F75VFjdeTUh+oem6In5QAI73VpLAGDyG+2/10qyQR2ZntZlU+U9rDZx4fQ== 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=DFzN9cX1Q9EwYmKZh4iWH/ucsDrQ6qkn9edSUjTcW1g=; b=TxlypwajDYUpbTPeXh0zStJI4a6K69SH6oSPil+O+maXnXCGx/fiTUr1L1iezadUojLl/lpRnp8RkMxBd5eGneGNnbR/62TWwsjgEZrEVaq2AfLN3pskuDQhH7v77+kw4aThr2Z8mjxRy4lEP7cY3HgISQlmB3ucv2CuoEXV9OSbN1hf0JlHsc3lurWxLb7w4yPXBFyvVR05VENnVCg+oQhjyjFIjqcZjfarobJYbd4srT+lhZcSsUHwB8CfeRV6Vkauo+YPihQbNipc2xVjtdk/tnyOzZh/BLn5HJLsPl3JU3GqiYrDn4QQBy5eJBawc2Q/uI6nlz2l/g9ScTdfYQ== 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=DFzN9cX1Q9EwYmKZh4iWH/ucsDrQ6qkn9edSUjTcW1g=; b=Bbk+UvB21BULzB/kJdtp0LBswVzRObF3g0rxTbrRBrAXotiwetmPo0v8trYV55r4CKusFnclv97nM2lfeS5cnxSXYltytieCDGrllcnOekRNSZ3NWhv8eVUPxIfwVziVyAz1AM0PsGOJ5OxiDywq58oVOLwDIkVyWgBVjonU9Ns= Received: from MN2PR13MB3957.namprd13.prod.outlook.com (2603:10b6:208:263::11) by MN2PR13MB3008.namprd13.prod.outlook.com (2603:10b6:208:151::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3541.10; Wed, 4 Nov 2020 21:31:48 +0000 Received: from MN2PR13MB3957.namprd13.prod.outlook.com ([fe80::e989:f666:131a:e210]) by MN2PR13MB3957.namprd13.prod.outlook.com ([fe80::e989:f666:131a:e210%9]) with mapi id 15.20.3541.018; Wed, 4 Nov 2020 21:31:47 +0000 From: Trond Myklebust To: David Wysochanski CC: linux-nfs Subject: Re: [PATCH v3 16/17] NFS: Improve handling of directory verifiers Thread-Topic: [PATCH v3 16/17] NFS: Improve handling of directory verifiers Thread-Index: AQHWssdnZQZFDOdNkkqZw9MtB6i6lqm4dcsAgAAIcoA= Date: Wed, 4 Nov 2020 21:31:47 +0000 Message-ID: <5D348A8A-B486-4752-8F28-CB55C05F80D0@hammerspace.com> References: <20201104161638.300324-1-trond.myklebust@hammerspace.com> <20201104161638.300324-2-trond.myklebust@hammerspace.com> <20201104161638.300324-3-trond.myklebust@hammerspace.com> <20201104161638.300324-4-trond.myklebust@hammerspace.com> <20201104161638.300324-5-trond.myklebust@hammerspace.com> <20201104161638.300324-6-trond.myklebust@hammerspace.com> <20201104161638.300324-7-trond.myklebust@hammerspace.com> <20201104161638.300324-8-trond.myklebust@hammerspace.com> <20201104161638.300324-9-trond.myklebust@hammerspace.com> <20201104161638.300324-10-trond.myklebust@hammerspace.com> <20201104161638.300324-11-trond.myklebust@hammerspace.com> <20201104161638.300324-12-trond.myklebust@hammerspace.com> <20201104161638.300324-13-trond.myklebust@hammerspace.com> <20201104161638.300324-14-trond.myklebust@hammerspace.com> <20201104161638.300324-15-trond.myklebust@hammerspace.com> <20201104161638.300324-16-trond.myklebust@hammerspace.com> <20201104161638.300324-17-trond.myklebust@hammerspace.com> In-Reply-To: Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3608.120.23.2.4) authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.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: 5a3a37d2-b72f-48d2-8fb3-08d881090905 x-ms-traffictypediagnostic: MN2PR13MB3008: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wRSoVeaktVPcwsT2gqML4CHF/lCU92NXxfNdcLQ/FcByh3gyisjHSw7BDv56LuUgJ+UiYvY9gbGlHjAddGbOgyVuSBBiS9IjsRC6eF6idAN/W/pyMycTG69KDzwDXlQSuAohQG+OULO95L8hiQ4iRz6FQ1PURzVM+DFijRy32pOKLrSZqXuSaQvsy9s3r3x8QRj5FtpaE9rxy+flgah/SnTHkexpsIAN+di5EwZA6AWvl6NGMviNALvMJfEMyDtN0M+bgcKgCbi2Czpwg3MJAcTz0zmsWM1Slxyj3GMFctk9mAJACpewD7lkl4gf44SFD47OlYo4+yR6EmuOsGBk2g== 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:(366004)(346002)(376002)(39830400003)(136003)(396003)(6512007)(33656002)(66446008)(6506007)(64756008)(316002)(53546011)(5660300002)(66476007)(66556008)(6486002)(186003)(26005)(86362001)(71200400001)(6916009)(478600001)(2616005)(2906002)(8936002)(91956017)(76116006)(66946007)(4326008)(8676002)(83380400001)(36756003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: 08MGKBl8qDEk3TR7EXKMGkm6tU3shjajn3a/Db2Zp7IUNiyOZndP6rLBAYKIBTqmK5o6VTVMAbdpsbbs+mUwJIKEugATrObKU/5OZDf4TsDnNpiWNRcU0sQ/1pmLi8Vyi52tT0bSRJ8Xdh/UeeytADF8DevDLOz3j5m2LCO+gYkqK3cUxSSKYUGbMl3SIn8QAYMhJYqvpTh6HPYQRe0uVe9txZqVQMdowoyzCUzKOBz1kqnxE/5fEgrP1Dx0j110zFCwQfT/TuCp6OD9XDgr0uqwuOnZtX+PUfbAskk1RDjAonOTHktCMEWpjIoj5Cc/X60yswI2Tf6hSlgderUPDmeWlCTiva8mK285aVBW7XxHiAZrsoL883kkzZBULAmm+imOf8xEpkg8F6hFTtFkQ6nQOZJZv7BADdtjsDPDTsLDFfM+YXFr/IL1aVQ1msFv8uX3wm8iqsE0M2p5EcPW7lx2ecNSX1CgmJffHUb+kjiDO0T4EPlBAHteE+dTPVw8aSSC3ZdhhhIe6cBS40EjyiM+wS1Ma/1ho+UzqOfNfpZ3hB3JbP/bqsYdilBgM+OJ7LggxkJk57Qq40WKHtm154leCOr7GhcaNPtaG1hlVj6+YN+8LpuXPRyGjTzfiV33IOOeoUvhK5Dg9bfqgO1nyQ== 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-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR13MB3957.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5a3a37d2-b72f-48d2-8fb3-08d881090905 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Nov 2020 21:31:47.5030 (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: CtEgRfkJMNXSTpCPWxvhcJwhmu0fQC1u9JB854EFBc8wUbj3UktJwjpJd9g2TKni7gffDjfblur+c0ZhvLsDkQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR13MB3008 Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org DQoNCj4gT24gTm92IDQsIDIwMjAsIGF0IDE2OjAxLCBEYXZpZCBXeXNvY2hhbnNraSA8ZHd5c29j aGFAcmVkaGF0LmNvbT4gd3JvdGU6DQo+IA0KPiBPbiBXZWQsIE5vdiA0LCAyMDIwIGF0IDExOjI4 IEFNIDx0cm9uZG15QGdtYWlsLmNvbT4gd3JvdGU6DQo+PiANCj4+IEZyb206IFRyb25kIE15a2xl YnVzdCA8dHJvbmQubXlrbGVidXN0QGhhbW1lcnNwYWNlLmNvbT4NCj4+IA0KPj4gSWYgdGhlIHNl cnZlciBpbnNpc3RzIG9uIHVzaW5nIHRoZSByZWFkZGlyIHZlcmlmaWVycyBpbiBvcmRlciB0byBh bGxvdw0KPj4gY29va2llcyB0byBleHBpcmUsIHRoZW4gd2Ugc2hvdWxkIGVuc3VyZSB0aGF0IHdl IGNhY2hlIHRoZSB2ZXJpZmllcg0KPj4gd2l0aCB0aGUgY29va2llLCBzbyB0aGF0IHdlIGNhbiBy ZXR1cm4gYW4gZXJyb3IgaWYgdGhlIGFwcGxpY2F0aW9uDQo+PiB0cmllcyB0byB1c2UgdGhlIGV4 cGlyZWQgY29va2llLg0KPj4gDQo+PiBTaWduZWQtb2ZmLWJ5OiBUcm9uZCBNeWtsZWJ1c3QgPHRy b25kLm15a2xlYnVzdEBoYW1tZXJzcGFjZS5jb20+DQo+PiAtLS0NCj4+IGZzL25mcy9kaXIuYyAg ICAgICAgICAgfCAzNSArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQ0KPj4gZnMv bmZzL2lub2RlLmMgICAgICAgICB8ICA3IC0tLS0tLS0NCj4+IGluY2x1ZGUvbGludXgvbmZzX2Zz LmggfCAgOCArKysrKysrLQ0KPj4gMyBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAy MCBkZWxldGlvbnMoLSkNCj4+IA0KPj4gZGlmZiAtLWdpdCBhL2ZzL25mcy9kaXIuYyBiL2ZzL25m cy9kaXIuYw0KPj4gaW5kZXggM2I0NGJlZjNhMWI0Li40NTQzNzcyMjgxNjcgMTAwNjQ0DQo+PiAt LS0gYS9mcy9uZnMvZGlyLmMNCj4+ICsrKyBiL2ZzL25mcy9kaXIuYw0KPj4gQEAgLTE1NSw2ICsx NTUsNyBAQCBzdHJ1Y3QgbmZzX3JlYWRkaXJfZGVzY3JpcHRvciB7DQo+PiAgICAgICAgbG9mZl90 ICAgICAgICAgIGN1cnJlbnRfaW5kZXg7DQo+PiAgICAgICAgbG9mZl90ICAgICAgICAgIHByZXZf aW5kZXg7DQo+PiANCj4+ICsgICAgICAgX19iZTMyICAgICAgICAgIHZlcmZbTkZTX0RJUl9WRVJJ RklFUl9TSVpFXTsNCj4+ICAgICAgICB1bnNpZ25lZCBsb25nICAgZGlyX3ZlcmlmaWVyOw0KPj4g ICAgICAgIHVuc2lnbmVkIGxvbmcgICB0aW1lc3RhbXA7DQo+PiAgICAgICAgdW5zaWduZWQgbG9u ZyAgIGdlbmNvdW50Ow0KPj4gQEAgLTQ2NiwxNSArNDY3LDE1IEBAIHN0YXRpYyBpbnQgbmZzX3Jl YWRkaXJfc2VhcmNoX2FycmF5KHN0cnVjdCBuZnNfcmVhZGRpcl9kZXNjcmlwdG9yICpkZXNjKQ0K Pj4gDQo+PiAvKiBGaWxsIGEgcGFnZSB3aXRoIHhkciBpbmZvcm1hdGlvbiBiZWZvcmUgdHJhbnNm ZXJyaW5nIHRvIHRoZSBjYWNoZSBwYWdlICovDQo+PiBzdGF0aWMgaW50IG5mc19yZWFkZGlyX3hk cl9maWxsZXIoc3RydWN0IG5mc19yZWFkZGlyX2Rlc2NyaXB0b3IgKmRlc2MsDQo+PiAtICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdTY0IGNvb2tpZSwgc3RydWN0IHBhZ2UgKipwYWdl cywNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgYnVmc2l6ZSkN Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2JlMzIgKnZlcmYsIHU2NCBj b29raWUsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBhZ2Ug KipwYWdlcywgc2l6ZV90IGJ1ZnNpemUsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgX19iZTMyICp2ZXJmX3JlcykNCj4+IHsNCj4+ICAgICAgICBzdHJ1Y3QgaW5vZGUgKmlu b2RlID0gZmlsZV9pbm9kZShkZXNjLT5maWxlKTsNCj4+IC0gICAgICAgX19iZTMyIHZlcmZfcmVz WzJdOw0KPj4gICAgICAgIHN0cnVjdCBuZnNfcmVhZGRpcl9hcmcgYXJnID0gew0KPj4gICAgICAg ICAgICAgICAgLmRlbnRyeSA9IGZpbGVfZGVudHJ5KGRlc2MtPmZpbGUpLA0KPj4gICAgICAgICAg ICAgICAgLmNyZWQgPSBkZXNjLT5maWxlLT5mX2NyZWQsDQo+PiAtICAgICAgICAgICAgICAgLnZl cmYgPSBORlNfSShpbm9kZSktPmNvb2tpZXZlcmYsDQo+PiArICAgICAgICAgICAgICAgLnZlcmYg PSB2ZXJmLA0KPj4gICAgICAgICAgICAgICAgLmNvb2tpZSA9IGNvb2tpZSwNCj4+ICAgICAgICAg ICAgICAgIC5wYWdlcyA9IHBhZ2VzLA0KPj4gICAgICAgICAgICAgICAgLnBhZ2VfbGVuID0gYnVm c2l6ZSwNCj4+IEBAIC01MDMsOCArNTA0LDYgQEAgc3RhdGljIGludCBuZnNfcmVhZGRpcl94ZHJf ZmlsbGVyKHN0cnVjdCBuZnNfcmVhZGRpcl9kZXNjcmlwdG9yICpkZXNjLA0KPj4gICAgICAgIH0N Cj4+ICAgICAgICBkZXNjLT50aW1lc3RhbXAgPSB0aW1lc3RhbXA7DQo+PiAgICAgICAgZGVzYy0+ Z2VuY291bnQgPSBnZW5jb3VudDsNCj4+IC0gICAgICAgbWVtY3B5KE5GU19JKGlub2RlKS0+Y29v a2lldmVyZiwgcmVzLnZlcmYsDQo+PiAtICAgICAgICAgICAgICBzaXplb2YoTkZTX0koaW5vZGUp LT5jb29raWV2ZXJmKSk7DQo+PiBlcnJvcjoNCj4+ICAgICAgICByZXR1cm4gZXJyb3I7DQo+PiB9 DQo+PiBAQCAtNzcwLDExICs3NjksMTMgQEAgc3RhdGljIHN0cnVjdCBwYWdlICoqbmZzX3JlYWRk aXJfYWxsb2NfcGFnZXMoc2l6ZV90IG5wYWdlcykNCj4+IH0NCj4+IA0KPj4gc3RhdGljIGludCBu ZnNfcmVhZGRpcl94ZHJfdG9fYXJyYXkoc3RydWN0IG5mc19yZWFkZGlyX2Rlc2NyaXB0b3IgKmRl c2MsDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGFnZSAq cGFnZSwgc3RydWN0IGlub2RlICppbm9kZSkNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBwYWdlICpwYWdlLCBfX2JlMzIgKnZlcmZfYXJnLA0KPj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19iZTMyICp2ZXJmX3JlcykNCj4+IHsNCj4+ ICAgICAgICBzdHJ1Y3QgcGFnZSAqKnBhZ2VzOw0KPj4gICAgICAgIHN0cnVjdCBuZnNfZW50cnkg KmVudHJ5Ow0KPj4gICAgICAgIHNpemVfdCBhcnJheV9zaXplOw0KPj4gKyAgICAgICBzdHJ1Y3Qg aW5vZGUgKmlub2RlID0gZmlsZV9pbm9kZShkZXNjLT5maWxlKTsNCj4+ICAgICAgICBzaXplX3Qg ZHRzaXplID0gTkZTX1NFUlZFUihpbm9kZSktPmR0c2l6ZTsNCj4+ICAgICAgICBpbnQgc3RhdHVz ID0gLUVOT01FTTsNCj4+IA0KPj4gQEAgLTgwMSw4ICs4MDIsOSBAQCBzdGF0aWMgaW50IG5mc19y ZWFkZGlyX3hkcl90b19hcnJheShzdHJ1Y3QgbmZzX3JlYWRkaXJfZGVzY3JpcHRvciAqZGVzYywN Cj4+IA0KPj4gICAgICAgIGRvIHsNCj4+ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBwZ2xl bjsNCj4+IC0gICAgICAgICAgICAgICBzdGF0dXMgPSBuZnNfcmVhZGRpcl94ZHJfZmlsbGVyKGRl c2MsIGVudHJ5LT5jb29raWUsDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBwYWdlcywgZHRzaXplKTsNCj4+ICsgICAgICAgICAgICAgICBzdGF0dXMg PSBuZnNfcmVhZGRpcl94ZHJfZmlsbGVyKGRlc2MsIHZlcmZfYXJnLCBlbnRyeS0+Y29va2llLA0K Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZXMs IGR0c2l6ZSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHZlcmZfcmVzKTsNCj4+ICAgICAgICAgICAgICAgIGlmIChzdGF0dXMgPCAwKQ0KPj4gICAg ICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4+IA0KPj4gQEAgLTg1NCwxMyArODU2LDE1IEBA IHN0YXRpYyBpbnQgZmluZF9hbmRfbG9ja19jYWNoZV9wYWdlKHN0cnVjdCBuZnNfcmVhZGRpcl9k ZXNjcmlwdG9yICpkZXNjKQ0KPj4gew0KPj4gICAgICAgIHN0cnVjdCBpbm9kZSAqaW5vZGUgPSBm aWxlX2lub2RlKGRlc2MtPmZpbGUpOw0KPj4gICAgICAgIHN0cnVjdCBuZnNfaW5vZGUgKm5mc2kg PSBORlNfSShpbm9kZSk7DQo+PiArICAgICAgIF9fYmUzMiB2ZXJmW05GU19ESVJfVkVSSUZJRVJf U0laRV07DQo+PiAgICAgICAgaW50IHJlczsNCj4+IA0KPj4gICAgICAgIGRlc2MtPnBhZ2UgPSBu ZnNfcmVhZGRpcl9wYWdlX2dldF9jYWNoZWQoZGVzYyk7DQo+PiAgICAgICAgaWYgKCFkZXNjLT5w YWdlKQ0KPj4gICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07DQo+PiAgICAgICAgaWYgKG5m c19yZWFkZGlyX3BhZ2VfbmVlZHNfZmlsbGluZyhkZXNjLT5wYWdlKSkgew0KPj4gLSAgICAgICAg ICAgICAgIHJlcyA9IG5mc19yZWFkZGlyX3hkcl90b19hcnJheShkZXNjLCBkZXNjLT5wYWdlLCBp bm9kZSk7DQo+PiArICAgICAgICAgICAgICAgcmVzID0gbmZzX3JlYWRkaXJfeGRyX3RvX2FycmF5 KGRlc2MsIGRlc2MtPnBhZ2UsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG5mc2ktPmNvb2tpZXZlcmYsIHZlcmYpOw0KPj4gICAgICAgICAgICAgICAg aWYgKHJlcyA8IDApIHsNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgbmZzX3JlYWRkaXJfcGFn ZV91bmxvY2tfYW5kX3B1dF9jYWNoZWQoZGVzYyk7DQo+PiAgICAgICAgICAgICAgICAgICAgICAg IGlmIChyZXMgPT0gLUVCQURDT09LSUUgfHwgcmVzID09IC1FTk9UU1lOQykgew0KPj4gQEAgLTg3 MCw2ICs4NzQsNyBAQCBzdGF0aWMgaW50IGZpbmRfYW5kX2xvY2tfY2FjaGVfcGFnZShzdHJ1Y3Qg bmZzX3JlYWRkaXJfZGVzY3JpcHRvciAqZGVzYykNCj4+ICAgICAgICAgICAgICAgICAgICAgICAg fQ0KPj4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzOw0KPj4gICAgICAgICAgICAg ICAgfQ0KPj4gKyAgICAgICAgICAgICAgIG1lbWNweShuZnNpLT5jb29raWV2ZXJmLCB2ZXJmLCBz aXplb2YobmZzaS0+Y29va2lldmVyZikpOw0KPj4gICAgICAgIH0NCj4+ICAgICAgICByZXMgPSBu ZnNfcmVhZGRpcl9zZWFyY2hfYXJyYXkoZGVzYyk7DQo+PiAgICAgICAgaWYgKHJlcyA9PSAwKSB7 DQo+PiBAQCAtOTAyLDYgKzkwNyw3IEBAIHN0YXRpYyBpbnQgcmVhZGRpcl9zZWFyY2hfcGFnZWNh Y2hlKHN0cnVjdCBuZnNfcmVhZGRpcl9kZXNjcmlwdG9yICpkZXNjKQ0KPj4gc3RhdGljIHZvaWQg bmZzX2RvX2ZpbGxkaXIoc3RydWN0IG5mc19yZWFkZGlyX2Rlc2NyaXB0b3IgKmRlc2MpDQo+PiB7 DQo+PiAgICAgICAgc3RydWN0IGZpbGUgICAgICpmaWxlID0gZGVzYy0+ZmlsZTsNCj4+ICsgICAg ICAgc3RydWN0IG5mc19pbm9kZSAqbmZzaSA9IE5GU19JKGZpbGVfaW5vZGUoZmlsZSkpOw0KPj4g ICAgICAgIHN0cnVjdCBuZnNfY2FjaGVfYXJyYXkgKmFycmF5Ow0KPj4gICAgICAgIHVuc2lnbmVk IGludCBpID0gMDsNCj4+IA0KPj4gQEAgLTkxNSw2ICs5MjEsNyBAQCBzdGF0aWMgdm9pZCBuZnNf ZG9fZmlsbGRpcihzdHJ1Y3QgbmZzX3JlYWRkaXJfZGVzY3JpcHRvciAqZGVzYykNCj4+ICAgICAg ICAgICAgICAgICAgICAgICAgZGVzYy0+ZW9mID0gdHJ1ZTsNCj4+ICAgICAgICAgICAgICAgICAg ICAgICAgYnJlYWs7DQo+PiAgICAgICAgICAgICAgICB9DQo+PiArICAgICAgICAgICAgICAgbWVt Y3B5KGRlc2MtPnZlcmYsIG5mc2ktPmNvb2tpZXZlcmYsIHNpemVvZihkZXNjLT52ZXJmKSk7DQo+ PiAgICAgICAgICAgICAgICBpZiAoaSA8IChhcnJheS0+c2l6ZS0xKSkNCj4+ICAgICAgICAgICAg ICAgICAgICAgICAgZGVzYy0+ZGlyX2Nvb2tpZSA9IGFycmF5LT5hcnJheVtpKzFdLmNvb2tpZTsN Cj4+ICAgICAgICAgICAgICAgIGVsc2UNCj4+IEBAIC05NDksOCArOTU2LDggQEAgc3RhdGljIHZv aWQgbmZzX2RvX2ZpbGxkaXIoc3RydWN0IG5mc19yZWFkZGlyX2Rlc2NyaXB0b3IgKmRlc2MpDQo+ PiBzdGF0aWMgaW50IHVuY2FjaGVkX3JlYWRkaXIoc3RydWN0IG5mc19yZWFkZGlyX2Rlc2NyaXB0 b3IgKmRlc2MpDQo+PiB7DQo+PiAgICAgICAgc3RydWN0IHBhZ2UgICAgICpwYWdlID0gTlVMTDsN Cj4+ICsgICAgICAgX19iZTMyICAgICAgICAgIHZlcmZbTkZTX0RJUl9WRVJJRklFUl9TSVpFXTsN Cj4+ICAgICAgICBpbnQgICAgICAgICAgICAgc3RhdHVzOw0KPj4gLSAgICAgICBzdHJ1Y3QgaW5v ZGUgKmlub2RlID0gZmlsZV9pbm9kZShkZXNjLT5maWxlKTsNCj4+IA0KPj4gICAgICAgIGRmcHJp bnRrKERJUkNBQ0hFLCAiTkZTOiB1bmNhY2hlZF9yZWFkZGlyKCkgc2VhcmNoaW5nIGZvciBjb29r aWUgJUx1XG4iLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgbG9uZyBsb25n KWRlc2MtPmRpcl9jb29raWUpOw0KPj4gQEAgLTk2Nyw3ICs5NzQsNyBAQCBzdGF0aWMgaW50IHVu Y2FjaGVkX3JlYWRkaXIoc3RydWN0IG5mc19yZWFkZGlyX2Rlc2NyaXB0b3IgKmRlc2MpDQo+PiAg ICAgICAgZGVzYy0+ZHVwZWQgPSAwOw0KPj4gDQo+PiAgICAgICAgbmZzX3JlYWRkaXJfcGFnZV9p bml0X2FycmF5KHBhZ2UsIGRlc2MtPmRpcl9jb29raWUpOw0KPj4gLSAgICAgICBzdGF0dXMgPSBu ZnNfcmVhZGRpcl94ZHJfdG9fYXJyYXkoZGVzYywgcGFnZSwgaW5vZGUpOw0KPj4gKyAgICAgICBz dGF0dXMgPSBuZnNfcmVhZGRpcl94ZHJfdG9fYXJyYXkoZGVzYywgcGFnZSwgZGVzYy0+dmVyZiwg dmVyZik7DQo+PiAgICAgICAgaWYgKHN0YXR1cyA8IDApDQo+PiAgICAgICAgICAgICAgICBnb3Rv IG91dF9yZWxlYXNlOw0KPj4gDQo+PiBAQCAtMTAyMyw2ICsxMDMwLDcgQEAgc3RhdGljIGludCBu ZnNfcmVhZGRpcihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGRpcl9jb250ZXh0ICpjdHgpDQo+ PiAgICAgICAgZGVzYy0+ZHVwX2Nvb2tpZSA9IGRpcl9jdHgtPmR1cF9jb29raWU7DQo+PiAgICAg ICAgZGVzYy0+ZHVwZWQgPSBkaXJfY3R4LT5kdXBlZDsNCj4+ICAgICAgICBkZXNjLT5hdHRyX2dl bmNvdW50ID0gZGlyX2N0eC0+YXR0cl9nZW5jb3VudDsNCj4+ICsgICAgICAgbWVtY3B5KGRlc2Mt PnZlcmYsIGRpcl9jdHgtPnZlcmYsIHNpemVvZihkZXNjLT52ZXJmKSk7DQo+PiAgICAgICAgc3Bp bl91bmxvY2soJmZpbGUtPmZfbG9jayk7DQo+PiANCj4+ICAgICAgICBkbyB7DQo+PiBAQCAtMTA2 MSw2ICsxMDY5LDcgQEAgc3RhdGljIGludCBuZnNfcmVhZGRpcihzdHJ1Y3QgZmlsZSAqZmlsZSwg c3RydWN0IGRpcl9jb250ZXh0ICpjdHgpDQo+PiAgICAgICAgZGlyX2N0eC0+ZHVwX2Nvb2tpZSA9 IGRlc2MtPmR1cF9jb29raWU7DQo+PiAgICAgICAgZGlyX2N0eC0+ZHVwZWQgPSBkZXNjLT5kdXBl ZDsNCj4+ICAgICAgICBkaXJfY3R4LT5hdHRyX2dlbmNvdW50ID0gZGVzYy0+YXR0cl9nZW5jb3Vu dDsNCj4+ICsgICAgICAgbWVtY3B5KGRpcl9jdHgtPnZlcmYsIGRlc2MtPnZlcmYsIHNpemVvZihk aXJfY3R4LT52ZXJmKSk7DQo+PiAgICAgICAgc3Bpbl91bmxvY2soJmZpbGUtPmZfbG9jayk7DQo+ PiANCj4+ICAgICAgICBrZnJlZShkZXNjKTsNCj4+IEBAIC0xMTAxLDYgKzExMTAsOCBAQCBzdGF0 aWMgbG9mZl90IG5mc19sbHNlZWtfZGlyKHN0cnVjdCBmaWxlICpmaWxwLCBsb2ZmX3Qgb2Zmc2V0 LCBpbnQgd2hlbmNlKQ0KPj4gICAgICAgICAgICAgICAgICAgICAgICBkaXJfY3R4LT5kaXJfY29v a2llID0gb2Zmc2V0Ow0KPj4gICAgICAgICAgICAgICAgZWxzZQ0KPj4gICAgICAgICAgICAgICAg ICAgICAgICBkaXJfY3R4LT5kaXJfY29va2llID0gMDsNCj4+ICsgICAgICAgICAgICAgICBpZiAo b2Zmc2V0ID09IDApDQo+PiArICAgICAgICAgICAgICAgICAgICAgICBtZW1zZXQoZGlyX2N0eC0+ dmVyZiwgMCwgc2l6ZW9mKGRpcl9jdHgtPnZlcmYpKTsNCj4+ICAgICAgICAgICAgICAgIGRpcl9j dHgtPmR1cGVkID0gMDsNCj4+ICAgICAgICB9DQo+PiAgICAgICAgc3Bpbl91bmxvY2soJmZpbHAt PmZfbG9jayk7DQo+IA0KPiBUaGFua3MgZm9yIGRvaW5nIHRoZXNlIHBhdGNoZXMhDQo+IA0KPiBG b3Igc29tZSByZWFzb24gdGhpcyBwYXRjaCBkb2VzIG5vdCBhcHBseSBidXQgSSBnZXQgYSBwcm9i bGVtIGF0IHRoaXMgaHVuay4NCj4gSXMgdGhlcmUgYSBmaXh1cCBvciBodW5rIG9yIHR3byBtaXNz aW5nIGZyb20gMDEvMTcgPw0KPiBJJ20gc3RhcnRpbmcgYXQgM2NlYTExY2Q1ZTNiIChMaW51eCA1 LjEwLXJjMikuDQo+IA0KPiBQcm9ibGVtIGxvb2tzIGxpa2UgaXQncyBhdCB0aGUgc3Bpbl91bmxv Y2sgLSBoZXJlJ3Mgd2hhdCB0aGUgaHVuaw0KPiBsb29rcyBsaWtlIGZvciBtZToNCj4gZnMvbmZz L2Rpci5jDQo+IDEwOTIgICAgICAgICBpbm9kZV9sb2NrKGlub2RlKTsNCj4gMTA5MyAgICAgICAg IG9mZnNldCArPSBmaWxwLT5mX3BvczsNCj4gMTA5NCAgICAgICAgIGlmIChvZmZzZXQgPCAwKSB7 DQo+IDEwOTUgICAgICAgICAgICAgaW5vZGVfdW5sb2NrKGlub2RlKTsNCj4gMTA5NiAgICAgICAg ICAgICByZXR1cm4gLUVJTlZBTDsNCj4gMTA5NyAgICAgICAgIH0NCj4gMTA5OCAgICAgfQ0KPiAx MDk5ICAgICBpZiAob2Zmc2V0ICE9IGZpbHAtPmZfcG9zKSB7DQo+IDExMDAgICAgICAgICBmaWxw LT5mX3BvcyA9IG9mZnNldDsNCj4gMTEwMSAgICAgICAgIGlmIChuZnNfcmVhZGRpcl91c2VfY29v a2llKGZpbHApKQ0KPiAxMTAyICAgICAgICAgICAgIGRpcl9jdHgtPmRpcl9jb29raWUgPSBvZmZz ZXQ7DQo+IDExMDMgICAgICAgICBlbHNlDQo+IDExMDQgICAgICAgICAgICAgZGlyX2N0eC0+ZGly X2Nvb2tpZSA9IDA7DQo+IDExMDUgICAgICAgICBkaXJfY3R4LT5kdXBlZCA9IDA7DQo+IDExMDYg ICAgIH0NCj4gMTEwNyAgICAgaW5vZGVfdW5sb2NrKGlub2RlKTsNCj4gMTEwOCAgICAgcmV0dXJu IG9mZnNldDsNCj4gMTEwOSB9DQo+IA0KDQpZZXMsIGl0IGRlcGVuZHMgb24gdGhlIHBhdGNoICJb UEFUQ0ggMS8yXSBORlM6IFJlbW92ZSB1bm5lY2Vzc2FyeSBpbm9kZSBsb2NraW5nIGluIG5mc19s bHNlZWtfZGlyKCnigJ0gdGhhdCBJIHNlbnQgb3V0IHRvIHRoZSBsaXN0IG9uIE9jdCAzMC4NCkkg Y2FuIGluY2x1ZGUgdGhhdCBpbiBmdXR1cmUgdXBkYXRlcyBvZiB0aGlzIHBhdGNoc2V0Lg0KDQpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NClRyb25kIE15a2xlYnVzdA0KTGludXgg TkZTIGNsaWVudCBtYWludGFpbmVyLCBIYW1tZXJzcGFjZQ0KdHJvbmQubXlrbGVidXN0QGhhbW1l cnNwYWNlLmNvbQ0KDQo=