Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp1061749rwe; Thu, 1 Sep 2022 11:52:02 -0700 (PDT) X-Google-Smtp-Source: AA6agR6fwuI/pgIxYaB2ErvOKtfr2DU0Lv/4/nF9cvLnX8aTGUrh87FOJnhdN9dWv8pDlOL4VBEj X-Received: by 2002:a05:6a00:2787:b0:537:d9b1:f942 with SMTP id bd7-20020a056a00278700b00537d9b1f942mr29515325pfb.30.1662058322108; Thu, 01 Sep 2022 11:52:02 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1662058322; cv=pass; d=google.com; s=arc-20160816; b=fjKYUg9i2tWXNtzvEIk2+FN5WsZhWERia0e2aHoZUgm+ZHSjVDWLKghM7XeBNQIdus Lp9sMO3neuXrdaPtuOzIymJZXDB5wkPb+nBsHwkrkS5NVW2REoIjeytj58lHYZR2CaIm eyn3FIfMr8PV9qvmFp6KMOUpcKBZx9KpjRevi/mraqu7al88dQiPztchzXIK/7B2w3fq 6AIK+XYTR940Y2HK3L1PB8BWycbUvusjvOUxDvgQq23LXMEK8+gvQdKjHgXnpVZpkmS/ uiUrGkWWgefwRUBZGMp0qhis9Cdxz2tK8IztlxTf54GwN3vdV1mUExrqTBK8c0aiRsw5 OpNg== 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=5QtCAlSxGrG7FseeNrISOYRfM4Eh3Eo8zgGp+OcNBtY=; b=Y+BDWeIZGBZQ0k4P5GVSoTEVam4mSuCFrAh+ezEdtt56YSFoNIQZsvkyWIYY7q5bKP deLnYFzWgnOZikWngChbz7g7Qgsz3JSYJu5orL1oEh39cgNT8BtqSs/yU3IAQWb8ZB6z c+sWps77uU9kZUl/odhNKLrTOhSNDw3ysgexj0nf9VxYFuip+uCfa0eylkwrf/TBwHy1 PTmNlCBzvZSabqx8sMZt5PIOnNy6JwwFmYCJ86DzkORyBSNoP4h7SEBGaF6uT8rcRX5j UOlNf6q/HmEl9a9Mj30VzijbyeVdH+pUQ8VKEuu6tES2wPSKN9cqmZk8fSQVMGQZHV+H vTuQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=UOWO9rxD; 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 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d10-20020a056a00198a00b0052dccbf4079si20146934pfl.220.2022.09.01.11.51.43; Thu, 01 Sep 2022 11:52:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=UOWO9rxD; 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 2620:137:e000::1:20 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 S233218AbiIASr4 (ORCPT + 99 others); Thu, 1 Sep 2022 14:47:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40624 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233195AbiIASrv (ORCPT ); Thu, 1 Sep 2022 14:47:51 -0400 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2113.outbound.protection.outlook.com [40.107.237.113]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 15F1D1F2F6 for ; Thu, 1 Sep 2022 11:47:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OWtA5WyH+TLhgIw3YHuX4Q9bB1VRaTHEEfvYU/ZWB7C8oTDCXUDwdOkNzGCZ3L84dThgsUvOVgenmyb/mNIjDdQikmyXZGPes4NrdHnRFMzHmFpp0AabhebpCmMfDct/PgnORLhc6TfPS8gJeItSNf5CeMnBCkkHAU8e+P+4XOoq/ni+111wdG7fmjVYJ56tJtZTj9BKqsGxJ38C9ZN7KNXQUI7JzFBpB/aw9rJeMicuy8XyadujzvWtXalORvVB+yN3SJsPaylBSeLw9dxPScGzd51R3hfm6T1SChaeW6K7KHLG61nsX0Gsqw+1It9niaMGgLHumk4fFaj7X34G0g== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=5QtCAlSxGrG7FseeNrISOYRfM4Eh3Eo8zgGp+OcNBtY=; b=ehJuw1rox0N1azOx9qQxz/aXY6gDLJFGxY5teq1OglPbNmPDdeR2luaBoinEnvzwFowAhCbhPeEQL9i9mmtm7SmRAAQA6d5baKmcIAB4pDmuJ0ZenKVxCm/tkwDh4mJWJgwasX7cmO7WG8M3bUglt4hxJZN9E6994T/VbTP6vjCZVN5TEbEq1cqovDrLsBOhc82s3sz/7HZM6L/Zo9VnH7ZpVjnzLx7X4iF3uzjrUORjt3fr2ytWAhYoBJ6dNO7cmu0EBc9BkAOBVUZLD1UrVy71C6DS/zcqdcEMwc20VcCXUMOH1K8Oj2lc+ouKOHdRd94sLF1IHPlncPo3X7mKkA== 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=5QtCAlSxGrG7FseeNrISOYRfM4Eh3Eo8zgGp+OcNBtY=; b=UOWO9rxDNlmpLNXJ5HM8ay4JKts0vhYLcWf0JQsV41cmzg8rlVXMC1ktPdAQVZwlt56CVVVFqEsUpGEq0xmdALWnxF1Sr1yhxwJU3vWtk2Jm/lrK0+b6JepPpRZ7Z69sPqa+fOju9SXF56PjB8RZJFK/DT5zaxhxI05YNrpdqjo= Received: from CH0PR13MB5084.namprd13.prod.outlook.com (2603:10b6:610:111::7) by CH0PR13MB4699.namprd13.prod.outlook.com (2603:10b6:610:d9::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.5; Thu, 1 Sep 2022 18:47:47 +0000 Received: from CH0PR13MB5084.namprd13.prod.outlook.com ([fe80::f1c7:62d0:a63d:f5ca]) by CH0PR13MB5084.namprd13.prod.outlook.com ([fe80::f1c7:62d0:a63d:f5ca%3]) with mapi id 15.20.5612.005; Thu, 1 Sep 2022 18:47:47 +0000 From: Trond Myklebust To: "anna@kernel.org" , "linux-nfs@vger.kernel.org" CC: "cuiyue-fnst@fujitsu.com" Subject: Re: [PATCH v2] NFSv4.2: Update mode bits after ALLOCATE and DEALLOCATE Thread-Topic: [PATCH v2] NFSv4.2: Update mode bits after ALLOCATE and DEALLOCATE Thread-Index: AQHYvi1gGF86nZmxlkGuRMvCBNP1Lq3K4y4AgAAHHIA= Date: Thu, 1 Sep 2022 18:47:47 +0000 Message-ID: <50a371e51b76469671ede8d47201eb8d01dd5720.camel@hammerspace.com> References: <20220901180503.1347290-1-anna@kernel.org> In-Reply-To: Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=hammerspace.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH0PR13MB5084:EE_|CH0PR13MB4699:EE_ x-ms-office365-filtering-correlation-id: f9b797c9-7f5e-4407-5eb2-08da8c4a76ca x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KyzB8rFujjH4vB8JGkHnzR9TGAIW09nbUTLYvytMoWQiJ4BrXihyxc2XndGop7eTCZ/wQK1ziNoTQZYlUeAjxP3QClmuhHC0GoCjt55zr5ILzDEZi4snxXEnsZX8HpKdL83h3OFCSTaszyxKG9xZqGHVGZ/7uB0hhD12GaasWz/dYfxrARbEjAHOqU3lZPybNeuSQHyYsPzFjQsBN7laO/FQtXGUZf28B907qcbgtaaPpoaBIcq/KGgsGOxnCiCJ8vPShfvfmNN8fjpGtSloqhFIxhcP3uE4e2rbdG2T8yYxD6HuPUnzM8+MVcV05YDhAFVU9thse4g1uStKPmaJrUg3RezFwMf52AAngnXROX9zJYk2SmTe23yz5RaS2sqJo0HXkAzy7Xp5xGRyMWwb3ssGq3L8+rdq+SN1YVCmSPSOumDyvlxmqvShNsvEVtgym5Wxscsetq6hVWhzC8E2w3zELdXTpx+j/s1igyJCu+ufxk2OTSNqaXX0RsBQX8waOdQ4VeFt3J4x/n4GR4ItA9leZZkqDqu3uOD3xPmbM2wCIizVbYI6F2RXfwhBRQ94CGtFOdKjFk8ZVAC32P7IAP1NnnIkxGPNX8EBPvreKWJH2NrsP2ucZiBbqx52l4czy6++B2BX4WFY+t1tponsvczNhRAsZYuTE9C3kdGBTqScSwFGS6iJE1k2qkkuTteuEYPOGvqdxvJhAIj7dTueXaHVPUSY4LytSWE6Fzkk8Cwc0BYGHY+E49j4jjW5W0oBY6zX8w6diXYUGg2B7RlNOw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR13MB5084.namprd13.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(376002)(136003)(366004)(39840400004)(346002)(64756008)(66556008)(66476007)(66946007)(8676002)(4326008)(66446008)(110136005)(76116006)(316002)(2906002)(86362001)(5660300002)(15650500001)(8936002)(38100700002)(6486002)(122000001)(38070700005)(186003)(2616005)(71200400001)(41300700001)(36756003)(6512007)(478600001)(26005)(6506007)(83380400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?T2RaYzRYNlcwQTQ1Z0Y5VmtRNnZ0b2xFSHYraXVwbzFlcCtnWDJnQTYxVUMz?= =?utf-8?B?SmladGtOTnA4eG5sT25NK1lLUktuTmNQbTRQWE4zalFrTEdiTDEzVEtXNVI1?= =?utf-8?B?T3FZTVJXY2hoYlFMWDJjcFBtSFdzVTdnZU1LQXFqQUp5VTdkTGRVdTgwTGo2?= =?utf-8?B?eTNxZ0VqQnY0N1VVZ09nZDNweXdlQjlwcmtNNjRGY3ljR1ZWK1pyOU1vT3Bj?= =?utf-8?B?eTNTWmJIbzY1SE85d2JhTlA1N3VPaTc5clJuWVZSZXNiUlBoOUxtWGtxUFFP?= =?utf-8?B?cmdaTDhuRVJ4Rm05cFYzTWpybFdFMVgvdnh1S0JMZCtiNVBRYXNPMHVMNXhQ?= =?utf-8?B?b3NGRnVuRUNWYzJoQzBzdkIreFFWVDEyS2dxRno4ZExxaXlyL3ZVa011NE5D?= =?utf-8?B?elRNbTlsTnloRVVrTzR4czcrbW5ZU2NWRlZEaURxdFVVcGxDNys0Y01wUjV0?= =?utf-8?B?Ym9JTHR5SUlCUVh1dlRTMWNFU0RjS3NTeEhYSEFyQjJYcy9MdFg0eTJlWm9H?= =?utf-8?B?MEhLZ1F5ZWlyL0ZnMklVanNUWXhwRlZBMFZhVm13a3F2NWYraVdSQWJxcUE2?= =?utf-8?B?YzdCSnB2UjAwQ1dRY1IvZ3RobWNINWhxY0pKaXRONWc4WDN2aTN6S2Z6aW5Q?= =?utf-8?B?Vlc4aUk1dUJvN0hBSkJad3BLUmp4ZmdmTUNkZjFuWkduNUVTcG5zdzA4RFBP?= =?utf-8?B?bDFhazhvSm44d0FHT0EwVW9MT2EvNlZ4Y1pRZFlRUUgvZ3ZtaGtGWDhMKzFu?= =?utf-8?B?azQzZUQvYVdWWGRrV29mK2wrakJwK3VLS0ZEWWdyQndZU3JrMnN6RFloYkps?= =?utf-8?B?VklmeDROQ2h2YlBydlgydUtNRU14UG9CQ3pFMUVwd1ByRGJoVXlqNFlwNTVJ?= =?utf-8?B?ZDE2RmFpd0lSYlBKT1lIOW1vd3lMaE5ST2xIUWo2czVhVHRIUmRqVkhDQmcr?= =?utf-8?B?R0tJM1I3SVJyazNCOHJqaHFNQUtwTGR5UlB1eVFJMzF5T0lvblduQ3UzMWJJ?= =?utf-8?B?UUpScGY0QmUwR08xMGxlWkRWT3FpNXZQRTh0d1l2OFlsRnBsZlBwVllpelN4?= =?utf-8?B?TmJqVURIMnJSZGZyRDVSMTZxaDBIcWZMWUk4QkNVbDBkNTlWaGk0dWw4WWlL?= =?utf-8?B?YkJaL0UxcisrY3pCYTN5ZTd0SFB3bzhveGNlSzgzUnBiR2loTnArcmxyaHdZ?= =?utf-8?B?bkx1eXk4RWpQSm1NR2c1UEpKckpuYkJERHVDcGZsVUo4Zm5QN0h1blNTU015?= =?utf-8?B?MkQ2MmhqU3p1cDllcWZFMERac1c2eCtwVU5qMXJ3dmNSZHlTdXNnSldXaERH?= =?utf-8?B?MTB3RnExWUFPZWF0bHhFeGNkM3lsZ0dIckMyUE52WXRNa2ZBZ3loK2RrL1F2?= =?utf-8?B?VTRHVmF3M0NPSC9HcHlwakVVWXpKREJzVzhVNEJtajVFNDB3MXF1NFBsem9T?= =?utf-8?B?MjIvNlJ3RkZqYjd6OU1teDE2WjVsS1ZTOUZpVVdLSWNPTEdFOWhrOTIvNm5C?= =?utf-8?B?NStjekdMMWFGZCtTVWFyc3FLYmhQL2VZSGhCOElNT2MrdlE4ZkJvdTZaMUgw?= =?utf-8?B?WUNjNGNFOEEyME5xUGVScWFaUjFOWXN4aUo1NnZ4RXZyWnppdmRxTHpJNno2?= =?utf-8?B?VDYrdzZZS2ZSODdGeTNDNFpqMUV6QmVNc2lpbVQ5YXpnenVRYUVtUGkxNmpG?= =?utf-8?B?Tk1zOWt2bXRaTWpIdFNNaUFHVm9qMVdXNDVMclp6aFdQRDBmeFJVZnU0YWdx?= =?utf-8?B?MUJYa0FoTWQ4TEVrRHJDQjJ0MkFqT2E4L1ZhV3h1UzF3RDByaE5MaW40aEM5?= =?utf-8?B?ZGlOcGVSNWlhTXZiZVlCZzdWWEc0M2JHZk5IY0w1T3dKUkd3VDVidHEwdGpa?= =?utf-8?B?Z016bjZHd0dZcHo2WXNuZTViNXIvWXhYZ2YyQ1NjQVErcTRqVzREYVI4NCtT?= =?utf-8?B?RENCNjhnODZ3aHBkY052amZUQnF4ejk0cExsa3JuNEh4U2tBWTBzK0tyZ1Bm?= =?utf-8?B?ZzZUeFFxWExZMmoxMzkyODh4ck5LZy8vOFhTbUxPWmNhaFJpbDJhYVNKVklK?= =?utf-8?B?bkNLUno5MWhZWHlDQkVUMnZ6K0tDZlZjT1VPNHFxWkVScnBoSktHSVpMa2lL?= =?utf-8?B?MWRBajBpQjZ4cXFpcUwwWDJzbFduVGR2MGkvN0RTajlmQnRITHpSSFAyQWo5?= =?utf-8?B?bUE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <38F794BD107B9546BA7F690C1F52F8DD@namprd13.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: hammerspace.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR13MB4699 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org T24gVGh1LCAyMDIyLTA5LTAxIGF0IDE0OjIyIC0wNDAwLCBUcm9uZCBNeWtsZWJ1c3Qgd3JvdGU6 Cj4gT24gVGh1LCAyMDIyLTA5LTAxIGF0IDE0OjA1IC0wNDAwLCBBbm5hIFNjaHVtYWtlciB3cm90 ZToKPiA+IEZyb206IEFubmEgU2NodW1ha2VyIDxBbm5hLlNjaHVtYWtlckBOZXRhcHAuY29tPgo+ ID4gCj4gPiBUaGUgZmFsbG9jYXRlIGNhbGwgaW52YWxpZGF0ZXMgc3VpZCBhbmQgc2dpZCBiaXRz IGFzIHBhcnQgb2Ygbm9ybWFsCj4gPiBvcGVyYXRpb24uIFdlIG5lZWQgdG8gbWFyayB0aGUgbW9k ZSBiaXRzIGFzIGludmFsaWQgd2hlbiB1c2luZwo+ID4gZmFsbG9jYXRlCj4gPiB3aXRoIGFuIHN1 aWQgc28gdGhlc2Ugd2lsbCBiZSB1cGRhdGVkIHRoZSBuZXh0IHRpbWUgdGhlIHVzZXIgbG9va3MK PiA+IGF0Cj4gPiB0aGVtLgo+ID4gCj4gPiBUaGlzIGZpeGVzIHhmc3Rlc3RzIGdlbmVyaWMvNjgz IGFuZCBnZW5lcmljLzY4NC4KPiA+IAo+ID4gUmVwb3J0ZWQtYnk6IFl1ZSBDdWkgPGN1aXl1ZS1m bnN0QGZ1aml0c3UuY29tPgo+ID4gRml4ZXM6IDkxM2VjYTFhZWE4NyAoIk5GUzogRmFsbG9jYXRl IHNob3VsZCB1c2UgdGhlCj4gPiBuZnM0X2ZhdHRyX2JpdG1hcCIpCj4gPiBTaWduZWQtb2ZmLWJ5 OiBBbm5hIFNjaHVtYWtlciA8QW5uYS5TY2h1bWFrZXJATmV0YXBwLmNvbT4KPiA+IC0tLQo+ID4g wqBmcy9uZnMvaW50ZXJuYWwuaMKgIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4g wqBmcy9uZnMvbmZzNDJwcm9jLmMgfCAxMyArKysrKysrKysrKystCj4gPiDCoGZzL25mcy93cml0 ZS5jwqDCoMKgwqAgfCAyNSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiDCoDMgZmlsZXMg Y2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCj4gPiAKPiA+IGRpZmYg LS1naXQgYS9mcy9uZnMvaW50ZXJuYWwuaCBiL2ZzL25mcy9pbnRlcm5hbC5oCj4gPiBpbmRleCAy N2M3MjBkNzFiNGUuLjg5OGRkOTViYzdhNyAxMDA2NDQKPiA+IC0tLSBhL2ZzL25mcy9pbnRlcm5h bC5oCj4gPiArKysgYi9mcy9uZnMvaW50ZXJuYWwuaAo+ID4gQEAgLTYwNiw2ICs2MDYsMzEgQEAg c3RhdGljIGlubGluZSBnZnBfdCBuZnNfaW9fZ2ZwX21hc2sodm9pZCkKPiA+IMKgwqDCoMKgwqDC oMKgwqByZXR1cm4gR0ZQX0tFUk5FTDsKPiA+IMKgfQo+ID4gwqAKPiA+ICsvKgo+ID4gKyAqIFNw ZWNpYWwgdmVyc2lvbiBvZiBzaG91bGRfcmVtb3ZlX3N1aWQoKSB0aGF0IGlnbm9yZXMKPiA+IGNh cGFiaWxpdGllcy4KPiA+ICsgKi8KPiA+ICtzdGF0aWMgaW5saW5lIGludCBuZnNfc2hvdWxkX3Jl bW92ZV9zdWlkKGNvbnN0IHN0cnVjdCBpbm9kZQo+ID4gKmlub2RlKQo+ID4gK3sKPiA+ICvCoMKg wqDCoMKgwqDCoHVtb2RlX3QgbW9kZSA9IGlub2RlLT5pX21vZGU7Cj4gPiArwqDCoMKgwqDCoMKg wqBpbnQga2lsbCA9IDA7Cj4gPiArCj4gPiArwqDCoMKgwqDCoMKgwqAvKiBzdWlkIGFsd2F5cyBt dXN0IGJlIGtpbGxlZCAqLwo+ID4gK8KgwqDCoMKgwqDCoMKgaWYgKHVubGlrZWx5KG1vZGUgJiBT X0lTVUlEKSkKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBraWxsID0gQVRUUl9L SUxMX1NVSUQ7Cj4gPiArCj4gPiArwqDCoMKgwqDCoMKgwqAvKgo+ID4gK8KgwqDCoMKgwqDCoMKg ICogc2dpZCB3aXRob3V0IGFueSBleGVjIGJpdHMgaXMganVzdCBhIG1hbmRhdG9yeSBsb2NraW5n Cj4gPiBtYXJrOyBsZWF2ZQo+ID4gK8KgwqDCoMKgwqDCoMKgICogaXQgYWxvbmUuwqAgSWYgc29t ZSBleGVjIGJpdHMgYXJlIHNldCwgaXQncyBhIHJlYWwgc2dpZDsKPiA+IGtpbGwgaXQuCj4gPiAr wqDCoMKgwqDCoMKgwqAgKi8KPiA+ICvCoMKgwqDCoMKgwqDCoGlmICh1bmxpa2VseSgobW9kZSAm IFNfSVNHSUQpICYmIChtb2RlICYgU19JWEdSUCkpKQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoGtpbGwgfD0gQVRUUl9LSUxMX1NHSUQ7Cj4gPiArCj4gPiArwqDCoMKgwqDCoMKg wqBpZiAodW5saWtlbHkoa2lsbCAmJiBTX0lTUkVHKG1vZGUpKSkKPiA+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqByZXR1cm4ga2lsbDsKPiA+ICsKPiA+ICvCoMKgwqDCoMKgwqDCoHJl dHVybiAwOwo+ID4gK30KPiA+ICsKPiA+IMKgLyogdW5saW5rLmMgKi8KPiA+IMKgZXh0ZXJuIHN0 cnVjdCBycGNfdGFzayAqCj4gPiDCoG5mc19hc3luY19yZW5hbWUoc3RydWN0IGlub2RlICpvbGRf ZGlyLCBzdHJ1Y3QgaW5vZGUgKm5ld19kaXIsCj4gPiBkaWZmIC0tZ2l0IGEvZnMvbmZzL25mczQy cHJvYy5jIGIvZnMvbmZzL25mczQycHJvYy5jCj4gPiBpbmRleCAwNjhjNDViM2JjMWEuLjIzMDIz ZGRmNzVkMSAxMDA2NDQKPiA+IC0tLSBhL2ZzL25mcy9uZnM0MnByb2MuYwo+ID4gKysrIGIvZnMv bmZzL25mczQycHJvYy5jCj4gPiBAQCAtNTYsNiArNTYsNyBAQCBzdGF0aWMgaW50IF9uZnM0Ml9w cm9jX2ZhbGxvY2F0ZShzdHJ1Y3QKPiA+IHJwY19tZXNzYWdlCj4gPiAqbXNnLCBzdHJ1Y3QgZmls ZSAqZmlsZXAsCj4gPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG5mczQyX2ZhbGxvY19yZXMgcmVz ID0gewo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAuZmFsbG9jX3NlcnZlcsKg wqA9IHNlcnZlciwKPiA+IMKgwqDCoMKgwqDCoMKgwqB9Owo+ID4gK8KgwqDCoMKgwqDCoMKgdW5z aWduZWQgaW50IGludmFsaWQgPSAwOwo+ID4gwqDCoMKgwqDCoMKgwqDCoGludCBzdGF0dXM7Cj4g PiDCoAo+ID4gwqDCoMKgwqDCoMKgwqDCoG1zZy0+cnBjX2FyZ3AgPSAmYXJnczsKPiA+IEBAIC03 OCwxMCArNzksMjAgQEAgc3RhdGljIGludCBfbmZzNDJfcHJvY19mYWxsb2NhdGUoc3RydWN0Cj4g PiBycGNfbWVzc2FnZSAqbXNnLCBzdHJ1Y3QgZmlsZSAqZmlsZXAsCj4gPiDCoAo+ID4gwqDCoMKg wqDCoMKgwqDCoHN0YXR1cyA9IG5mczRfY2FsbF9zeW5jKHNlcnZlci0+Y2xpZW50LCBzZXJ2ZXIs IG1zZywKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAmYXJncy5zZXFfYXJncywgJnJlcy5zZXFfcmVzLCAwKTsKPiA+ICsK PiA+ICvCoMKgwqDCoMKgwqDCoGlmICghcmVzLmZhbGxvY19mYXR0ci0+dmFsaWQpCj4gPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaW52YWxpZCB8PSBORlNfSU5PX0lOVkFMSURfQVRU UjsKCk9oIHdhaXQuLi4gV2Ugc2hvdWxkbid0IG5lZWQgdGhpcy5eXl5eXl5eXl4KbmZzX3Bvc3Rf b3BfdXBkYXRlX2lub2RlX2ZvcmNlX3djYygpIHdpbGwgZG8gdGhlIHJpZ2h0IHRoaW5nIGZvciB5 b3UKaGVyZS4KCj4gPiArwqDCoMKgwqDCoMKgwqBpZiAobmZzX3Nob3VsZF9yZW1vdmVfc3VpZChp bm9kZSkpCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaW52YWxpZCB8PSBORlNf SU5PX0lOVkFMSURfTU9ERTsKPiA+ICvCoMKgwqDCoMKgwqDCoGlmIChpbnZhbGlkKSB7Cj4gPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgc3Bpbl9sb2NrKCZpbm9kZS0+aV9sb2NrKTsK PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBuZnNfc2V0X2NhY2hlX2ludmFsaWQo aW5vZGUsIE5GU19JTk9fSU5WQUxJRF9NT0RFKTsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBzcGluX3VubG9jaygmaW5vZGUtPmlfbG9jayk7Cj4gPiArwqDCoMKgwqDCoMKgwqB9 Cj4gCj4gVGhpcyBhbGwgcmVhbGx5IHdhbnRzIHRvIGdvIGludG8gdGhlICdpZiAoc3RhdHVzID09 IDApJyBiZWxvdy4KPiA+ICsKPiA+IMKgwqDCoMKgwqDCoMKgwqBpZiAoc3RhdHVzID09IDApCj4g PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHN0YXR1cyA9IG5mc19wb3N0X29wX3Vw ZGF0ZV9pbm9kZV9mb3JjZV93Y2MoaW5vZGUsCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiByZXMuZmFsbG9jX2ZhdHRy KTsKPiA+IC0KPiA+IMKgwqDCoMKgwqDCoMKgwqBpZiAobXNnLT5ycGNfcHJvYyA9PQo+ID4gJm5m czRfcHJvY2VkdXJlc1tORlNQUk9DNF9DTE5UX0FMTE9DQVRFXSkKPiA+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgdHJhY2VfbmZzNF9mYWxsb2NhdGUoaW5vZGUsICZhcmdzLCBzdGF0 dXMpOwo+ID4gwqDCoMKgwqDCoMKgwqDCoGVsc2UKPiA+IGRpZmYgLS1naXQgYS9mcy9uZnMvd3Jp dGUuYyBiL2ZzL25mcy93cml0ZS5jCj4gPiBpbmRleCAxODQzZmEyMzVkOWIuLmY0MWQyNGI1NGZk MSAxMDA2NDQKPiA+IC0tLSBhL2ZzL25mcy93cml0ZS5jCj4gPiArKysgYi9mcy9uZnMvd3JpdGUu Ywo+ID4gQEAgLTE0OTYsMzEgKzE0OTYsNiBAQCB2b2lkIG5mc19jb21taXRfcHJlcGFyZShzdHJ1 Y3QgcnBjX3Rhc2sKPiA+ICp0YXNrLAo+ID4gdm9pZCAqY2FsbGRhdGEpCj4gPiDCoMKgwqDCoMKg wqDCoMKgTkZTX1BST1RPKGRhdGEtPmlub2RlKS0+Y29tbWl0X3JwY19wcmVwYXJlKHRhc2ssIGRh dGEpOwo+ID4gwqB9Cj4gPiDCoAo+ID4gLS8qCj4gPiAtICogU3BlY2lhbCB2ZXJzaW9uIG9mIHNo b3VsZF9yZW1vdmVfc3VpZCgpIHRoYXQgaWdub3Jlcwo+ID4gY2FwYWJpbGl0aWVzLgo+ID4gLSAq Lwo+ID4gLXN0YXRpYyBpbnQgbmZzX3Nob3VsZF9yZW1vdmVfc3VpZChjb25zdCBzdHJ1Y3QgaW5v ZGUgKmlub2RlKQo+ID4gLXsKPiA+IC3CoMKgwqDCoMKgwqDCoHVtb2RlX3QgbW9kZSA9IGlub2Rl LT5pX21vZGU7Cj4gPiAtwqDCoMKgwqDCoMKgwqBpbnQga2lsbCA9IDA7Cj4gPiAtCj4gPiAtwqDC oMKgwqDCoMKgwqAvKiBzdWlkIGFsd2F5cyBtdXN0IGJlIGtpbGxlZCAqLwo+ID4gLcKgwqDCoMKg wqDCoMKgaWYgKHVubGlrZWx5KG1vZGUgJiBTX0lTVUlEKSkKPiA+IC3CoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBraWxsID0gQVRUUl9LSUxMX1NVSUQ7Cj4gPiAtCj4gPiAtwqDCoMKgwqDC oMKgwqAvKgo+ID4gLcKgwqDCoMKgwqDCoMKgICogc2dpZCB3aXRob3V0IGFueSBleGVjIGJpdHMg aXMganVzdCBhIG1hbmRhdG9yeSBsb2NraW5nCj4gPiBtYXJrOyBsZWF2ZQo+ID4gLcKgwqDCoMKg wqDCoMKgICogaXQgYWxvbmUuwqAgSWYgc29tZSBleGVjIGJpdHMgYXJlIHNldCwgaXQncyBhIHJl YWwgc2dpZDsKPiA+IGtpbGwgaXQuCj4gPiAtwqDCoMKgwqDCoMKgwqAgKi8KPiA+IC3CoMKgwqDC oMKgwqDCoGlmICh1bmxpa2VseSgobW9kZSAmIFNfSVNHSUQpICYmIChtb2RlICYgU19JWEdSUCkp KQo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGtpbGwgfD0gQVRUUl9LSUxMX1NH SUQ7Cj4gPiAtCj4gPiAtwqDCoMKgwqDCoMKgwqBpZiAodW5saWtlbHkoa2lsbCAmJiBTX0lTUkVH KG1vZGUpKSkKPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4ga2lsbDsK PiA+IC0KPiA+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+ID4gLX0KPiA+IC0KPiA+IMKgc3Rh dGljIHZvaWQgbmZzX3dyaXRlYmFja19jaGVja19leHRlbmQoc3RydWN0IG5mc19wZ2lvX2hlYWRl cgo+ID4gKmhkciwKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG5m c19mYXR0ciAqZmF0dHIpCj4gPiDCoHsKPiAKPiBPdGhlcndpc2UsIGxvb2tzIE9LLgo+IAoKLS0g ClRyb25kIE15a2xlYnVzdApMaW51eCBORlMgY2xpZW50IG1haW50YWluZXIsIEhhbW1lcnNwYWNl CnRyb25kLm15a2xlYnVzdEBoYW1tZXJzcGFjZS5jb20KCgo=