Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp4467044imw; Tue, 12 Jul 2022 08:24:53 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vAj0luI/OA70IEYh+PZgSEJF2RTijdr+nEFExF/5USk060WZqCaUrgqZHTb0PmBYUxuwko X-Received: by 2002:a17:907:28d5:b0:72b:4d89:9c6d with SMTP id en21-20020a17090728d500b0072b4d899c6dmr13165848ejc.128.1657639493107; Tue, 12 Jul 2022 08:24:53 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1657639493; cv=pass; d=google.com; s=arc-20160816; b=lisEGwBQKk5yEATE3nann8wDaPUjcr+quM7S4zuHo2KVeq7XZDwwDgt/ohxAFKSqJu gDtucY9d4NULLDM+YftCT8bPTATGkKVHjox2F7ugEhB1kyrZlxOMzoKPk+UPx2WJz2XS CQIcwK21Z9uvHQwws44CUl/kWSoVA+CYhMjRRzwOyo/4fK+XG9GeQ5JO47srlnD9LceX opG26u9W1jtG4UYcezJYNHPnoJG6c6S+L3ToobnvL7LlrzX943wFaIOisvQDNXFumr3H 0Nc8T7sIio8GyztDUlcMcj1TI4IX1+hX3ESdltbsJD6WYEKYGNmtW469cFKV7VJiGhC0 M2bQ== 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=Pf6XfYCnQNOICQ0NU5iJ3rDMe34gDHHV7fOGgCR33Ko=; b=Vw4HmmxzTpNBpCatxnLjruhPOxjvWm9bf5JNURTbvpfqA7P2+eahfa74GOQiGO9juv Q1Uja2w4KMVFssETV7c8DZUyzf9eiLSFvA3a+HqCCjzcpJMzStLQSsOHXW1BO83RLR8X OFtr0pTpKr9DSJJnsRCb0FZhq3xbcJK3L2FYYi73TzDfBY6GRuKzFboWwrL3N8K7N3zc +Gubuz7sayLDPN5FmsYWjR9YzhmRxJBp+FsX/7859y6ijB9DeTF1pwAY/t7FFaIG+Egt 1a+oGj9jfPfkMsOarImImMOIdZtnnSs9r8iwHgSAQwcIZY9YT87goKBbiodU4UpJtLjj +BXQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=VotMt2bE; 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 o6-20020a170906974600b0072a51fa07a2si17290944ejy.296.2022.07.12.08.24.19; Tue, 12 Jul 2022 08:24:53 -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=VotMt2bE; 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 S231334AbiGLPSP (ORCPT + 99 others); Tue, 12 Jul 2022 11:18:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50842 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233180AbiGLPR6 (ORCPT ); Tue, 12 Jul 2022 11:17:58 -0400 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2104.outbound.protection.outlook.com [40.107.244.104]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E89204F191 for ; Tue, 12 Jul 2022 08:12:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S5nkxipkA4Q+ypM9suQnjkzAMzbBw7CbBXSeGD7bemsA4eL5Pf6TkSFzbrwUjhjpgtWTO11tMZV+J1Ac/5z11mY9H/A1jjZ+rNAL6I9+Blaza7yhSvR0fuzzDEQYpKjNgEfEYwy6eH0DjlA2oeG8brefTJqJM+00fvvsse0QGWx2htH6IBWkHkMww8UUaznw2qO5d+oG9sofuNqZsigKErdnpSZpaMg0kB8fftZLS6SVp18DzvgCrCVccENfVKAQ4rCv7KSkP0PetN2erFuY9LZ5fEO9NNPeuLyoqx1tolDQNXLNOPVE1zMHdoASD/Vdj1iM0RPp3VjXsVc8dnDxog== 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=Pf6XfYCnQNOICQ0NU5iJ3rDMe34gDHHV7fOGgCR33Ko=; b=HieEfReUrcKRQokye2ON65UGphQGeyMS/mpb44TJBW4aj17ZnvRXbIQT8fpQaNZ3H8cxPjLHHnMtZ2CLff/+7Len7F+A6AqZZb96EmtMUKtpXDTO7n5ITVDJdgjvA/i4/EeMMqIZ0/06fD8D4KubdRsba0j6ZCNBzOKsc/t97sP87zGNioOyIPqZsgVhYrftNTSfLZama4sqXI9WXcjP9rDPLdHIEvS7jaktkaa6SvXm3+RVkAcBKobq+inmt2s05cIrDDoIg3DSkmlKy5Zwd5Li1I33a6FSghDdu9j3jaWohCvO1sbsAEpv3HjpS2Gk6T6Hi8ujXBZurjEMav9fGA== 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=Pf6XfYCnQNOICQ0NU5iJ3rDMe34gDHHV7fOGgCR33Ko=; b=VotMt2bEkqHTNqEKWEP7FwzYsipmxzP9/L9mRWQNkxJ0tzxSCeyaDoRnJKdkfy+TkHgAVOpgbM06YCjmnL8OMCxhuTy5v1U3aJcXETt++HmqmBroqpY+PSyjcKbOLdDKmZ0ynWYSUR/FcwUa3EgzRBCFpjQXu6lLPqUK6dDpn3Y= Received: from CH0PR13MB5084.namprd13.prod.outlook.com (2603:10b6:610:111::7) by BYAPR13MB2584.namprd13.prod.outlook.com (2603:10b6:a03:f9::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.13; Tue, 12 Jul 2022 15:12:45 +0000 Received: from CH0PR13MB5084.namprd13.prod.outlook.com ([fe80::88ef:2709:1cd2:50cf]) by CH0PR13MB5084.namprd13.prod.outlook.com ([fe80::88ef:2709:1cd2:50cf%7]) with mapi id 15.20.5438.011; Tue, 12 Jul 2022 15:12:44 +0000 From: Trond Myklebust To: "anna.schumaker@netapp.com" , "olga.kornievskaia@gmail.com" CC: "linux-nfs@vger.kernel.org" Subject: Re: [PATCH v1 01/12] SUNRPC expose functions for offline remote xprt functionality Thread-Topic: [PATCH v1 01/12] SUNRPC expose functions for offline remote xprt functionality Thread-Index: AQHYhLnZNBVmpK7n30WDOoFTQ3XSTK16+jeA Date: Tue, 12 Jul 2022 15:12:44 +0000 Message-ID: References: <20220620152407.63127-1-olga.kornievskaia@gmail.com> <20220620152407.63127-2-olga.kornievskaia@gmail.com> In-Reply-To: <20220620152407.63127-2-olga.kornievskaia@gmail.com> 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-office365-filtering-correlation-id: 45b63423-fa66-4d54-c4d1-08da6418f938 x-ms-traffictypediagnostic: BYAPR13MB2584:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: AxyJphsmsyURCnM088TPY2WTEu6015C3UKVv8+4tDQEV2GcMpIMBD1I3BEyCHM6yCnMROq402aOvontmI9d4cdu+oyqzWq/H8SHGGFyccmMf9Evh7bI8X0ZTL0ZkEcjyjwyJKn6lqWpn1Xptx/haVK1j2LkSVBu3YeOJ2hKyuOYyCMpP0UclnNhFulwnv2kUC7lOKkfJrz3VbgXOeS8bqcLWqKpPBlEOFQnuK1HaQiS84if3QN7INd0kmGKlNUYZLRRtAZPSSkmOntRn07sx4sizIuy5DXKCAZkeK85cqmhTcwN1u2WkyBb9LJg3aHSGF1UYrlg50JKCaHcwuXp1IByvBq8Zyy+ps/ZSG56mbuLwl1G1dy41ANfKdgMAInfGePIL69mmqlUQ+5/K56XllY4LhPJ4Inht6e+wBzckdnhW6RixHkL1ATP9Ebn7irwU1qOB289rD+LWRYn4fJ9ZR6wFNROWm81vhVhtev41vN/W+kHtLNQ7QrnRJ9vcOCcWAnoKLaiwVnejbcmNTJtzDowHEKA+b+qEPsZHIMLrJjLFspJobFU3CaaA3IvR5W01dsdC5g/86Ra0zN9Cg9ZssaD5FKT2R8a6hR9fDGbIV22h0baW5VYgqcwkL7/1ikiedaFzd6Rh9NsGHNotdFlCjdDlWymFfYw9yJUPmrlFtgXCme3pMfu+x4nV2C29d6J7qdJqCeOPOp85I8bfhc6LOFLs90ePb8AKgJZICrDm9EjKdVCA9NXIuAC/XMrCwUorQmhqon3ZNICpKgyqGipYaB0UhVCDR7IJt18v06+eDjnAMEc8UJ5M2Bu+WTC/if8M 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)(376002)(136003)(346002)(366004)(396003)(39830400003)(2616005)(186003)(6512007)(5660300002)(66476007)(8936002)(83380400001)(38100700002)(122000001)(38070700005)(316002)(66556008)(4326008)(71200400001)(76116006)(26005)(66446008)(6506007)(6486002)(110136005)(86362001)(41300700001)(8676002)(64756008)(66946007)(36756003)(478600001)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TjE4SkVKVXJ1M0xKL2MzZkdKSXB4NXdtTFcxU3VudHZhUkwrN1I3ejloL3Fu?= =?utf-8?B?RG5xYWZ6SjA3TGVoQ3lud3VITWR3NjNLNXZUV2pkVGZrUTBROUhZNjJJNnRj?= =?utf-8?B?U0xDNEU1eWYrNTRGM1V4bXZ1a3BGSFkrUWJWSncwUURzQTF1Y1pQeWkwcHU0?= =?utf-8?B?TGdLbnB0c3VtLzVJSUt2VGE0aWxxT1FqSElOcmNTVFpiOVVJaVc2d0J2S1FG?= =?utf-8?B?TmNNS0hyK3NjeGFnd2RnRDQzRVBUWHl3QTFkUzZ6QlY4ZnNFdVJYcVNtU2Ur?= =?utf-8?B?ZFhYYndYV21sekxDcktyaS9FMVJvT0ZKSTVhVjRwMERiUFUxdjF0czVhUVJo?= =?utf-8?B?UnFvamoyWlYzREFPbmVVb0NNdzQ1b0lQaW43a2xKazNQUEMxemRLa3dYS1Vp?= =?utf-8?B?aXgreHFFNWVYLzhvdEZCTFhnSTQxdjJqSkRwQmg5UEZxZ1RNTkJGOVpuUlc0?= =?utf-8?B?QWlTKzZOYTFud2ZYbGgwRW82ZzBTRnlzbjQ2cVQwNzlRQlFod1U5UWhvUVpL?= =?utf-8?B?cEFNUGt1TTNOWDRQa2ZGSEZRSHhhbHNxTE1iRVVzVkVBZmQ5QWZUSkM3NGtP?= =?utf-8?B?ZVB0RjFFenh5WEZ4aDlUaWFmRUdOZWxvd0NTK2dWdzBwZEU0clUrOXUyYzlG?= =?utf-8?B?ZVplVzFmWk5udVRDL3ZRcDBrVjRRVG9LaDJCc2pvRE1nbzl0dHNoYUxsOXc3?= =?utf-8?B?UGZYUDgydDNwWnl5ZVdTeFk3d0d1R1JHNlhLNFFCbUZyWjNRcDQ1QXZaWDg0?= =?utf-8?B?ZmhRSVI0eFFzM2xmQ0xTQUhkTDgrM2NDWWs5NlNIVkRidnVZaWJpUzRKVFB4?= =?utf-8?B?Q2xEeWczdi9rTVhpZnIzMGhZOGwzR0NWZDF0cFAwUW05VWNyYm1KME93UTM5?= =?utf-8?B?WDhKY1N5ejVPYmQzczh2QjAzSjkzOWpVL2Vhd2ZrTUtuZ3hoQ1FFMGcrWTl0?= =?utf-8?B?Mk50aXNLUGRZOEFpSlVtc3NGSGpzQXhMNlJJN05jbGVGU2oyU0RwcWdzME5M?= =?utf-8?B?aWZRYXhQanZYelVmajI1STRlM0RKL3JmbGdEL2FwaklMeGxEY3psdlhaUS94?= =?utf-8?B?eU9rYU1oRDY4bTFHeXRnazVzVjBmVFdSNlRuUWlPSHdqdHpNSU1NVnEyQVJI?= =?utf-8?B?a3dEUlVVU2JIVWRuVXBlWk1pQzlLMmlSMWtRL1M2bUg4MDhsTTJ5SGlIdXh6?= =?utf-8?B?TzNhZkMwOXh6YUkwcXJFWFluNzE5MVlPcDVVTzFRTW1mZWZxZmMzVDlRTHp0?= =?utf-8?B?ei9weFJBcW5NSm5aSDRXRTFSdFFMbVNGTUVGaTNtYWJObU12QVVVU0tpaWdw?= =?utf-8?B?UUQ2SzdwUnVTczRLQm9tNG9ZdkpKQk1LUTAvUUFUdS9TSnh0TExmdFltczNy?= =?utf-8?B?Uk1BQnZ6U1dkak85MjBiVkUremxzZ0JUTVQvR3FTcFVhRDhmcjduOHlPVU1h?= =?utf-8?B?REVPdFpnaS9uQzdqRGZzTm9FdG1FUXZHZC9RNWlnb1RTOU9Hd253ZFVPZ1Nj?= =?utf-8?B?L2pDT1BtTlNmZG9aL2pCdVppdXZYaEczbHFWY0FwT1psdlRXbmdNTDYxYVk1?= =?utf-8?B?N29SWms3aVRYelkyZHowaFRaNXBIVExLU1BQNXpJeTRadnFGSXdvV2RxYWFM?= =?utf-8?B?dDI0QlhmVndIdGErMUZHbGhNMCtwUFVBWGxoZkpPMTN5RTc3anpMaEFRd1px?= =?utf-8?B?TmNOMHcxbU00VnMyTXlXUFlFS0taaGNwT3FyMVRkWlQyMWRhejVEOWhXSWRI?= =?utf-8?B?NktkTlg1ajI5VHc2NDFCeFVjeVZPMDRzaXlPeEpHd1V5TW1BN05MOXljM0dP?= =?utf-8?B?cDRLbEFoMXI5VWZJKzlMOW9iUGpycG1lZS9paUgyYlJVYm45TFJIUzhDbDNJ?= =?utf-8?B?K2JJUnZKSWhlN1I4cHBjK0xPN0RlUXpDVzBNR2REQlExUjNBR0N6ZzNWMXE1?= =?utf-8?B?c3JzZ2ExSmZtMlhWM0ZEelBHRlM4QlNOdForME1wUzZ1a0d0a0R1ckFGTjFo?= =?utf-8?B?WDZGazZJQlExRnJxU3Q0QlVJdXpNMUd0cGNIK0V4V2k4NTNCZCtDVUVDeWdp?= =?utf-8?B?T2NndDVJSHQxa0ExZnUrSDF6Uk52eUtGTnliVzJ4d2M0cjNUZTZnakFaRHV4?= =?utf-8?B?MVhXNlBDbFljdmhaaGlDaCtjblp1WlZ2QWl3OXdZUzhvYmU2ZHBOQTk0ZjU0?= =?utf-8?B?THc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <4A98234AEE41AA4BA75F4A6DB2D0E337@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: CH0PR13MB5084.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 45b63423-fa66-4d54-c4d1-08da6418f938 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jul 2022 15:12:44.9273 (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: COzmwWwO915b3arxsqn48dP1sNniv7KAo9h2Szjt4S0u9iABnovx+RoFUg+MNr2drcQoAttsOj+rTUVNuckImw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR13MB2584 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 T24gTW9uLCAyMDIyLTA2LTIwIGF0IDExOjIzIC0wNDAwLCBPbGdhIEtvcm5pZXZza2FpYSB3cm90 ZToKPiBGcm9tOiBPbGdhIEtvcm5pZXZza2FpYSA8a29sZ2FAbmV0YXBwLmNvbT4KPiAKPiBSZS1h cnJhbmdlIHRoZSBjb2RlIHRoYXQgbWFrZSBvZmZsaW5lIHRyYW5zcG9ydCBhbmQgZGVsZXRlIHRy YW5zcG9ydAo+IGNhbGxhYmxlIGZ1bmN0aW9ucy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBPbGdhIEtv cm5pZXZza2FpYSA8a29sZ2FAbmV0YXBwLmNvbT4KPiAtLS0KPiDCoGluY2x1ZGUvbGludXgvc3Vu cnBjL3hwcnQuaCB8wqAgMyArKysKPiDCoG5ldC9zdW5ycGMvc3lzZnMuY8KgwqDCoMKgwqDCoMKg wqDCoCB8IDI4ICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiDCoG5ldC9zdW5ycGMveHBy dC5jwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzNSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwo+IMKgMyBmaWxlcyBjaGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlv bnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zdW5ycGMveHBydC5oCj4gYi9p bmNsdWRlL2xpbnV4L3N1bnJwYy94cHJ0LmgKPiBpbmRleCA1MjJiYmY5Mzc5NTcuLjBkNTFiOWY5 ZWEzNyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2xpbnV4L3N1bnJwYy94cHJ0LmgKPiArKysgYi9p bmNsdWRlL2xpbnV4L3N1bnJwYy94cHJ0LmgKPiBAQCAtNTA1LDQgKzUwNSw3IEBAIHN0YXRpYyBp bmxpbmUgaW50Cj4geHBydF90ZXN0X2FuZF9zZXRfYmluZGluZyhzdHJ1Y3QgcnBjX3hwcnQgKnhw cnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiB0ZXN0X2FuZF9zZXRfYml0KFhQUlRfQklORElO RywgJnhwcnQtPnN0YXRlKTsKPiDCoH0KPiDCoAo+ICt2b2lkIHhwcnRfc2V0X29mZmxpbmVfbG9j a2VkKHN0cnVjdCBycGNfeHBydCAqeHBydCwgc3RydWN0Cj4gcnBjX3hwcnRfc3dpdGNoICp4cHMp Owo+ICt2b2lkIHhwcnRfc2V0X29ubGluZV9sb2NrZWQoc3RydWN0IHJwY194cHJ0ICp4cHJ0LCBz dHJ1Y3QKPiBycGNfeHBydF9zd2l0Y2ggKnhwcyk7Cj4gK3ZvaWQgeHBydF9kZWxldGVfbG9ja2Vk KHN0cnVjdCBycGNfeHBydCAqeHBydCwgc3RydWN0Cj4gcnBjX3hwcnRfc3dpdGNoICp4cHMpOwo+ IMKgI2VuZGlmIC8qIF9MSU5VWF9TVU5SUENfWFBSVF9IICovCj4gZGlmZiAtLWdpdCBhL25ldC9z dW5ycGMvc3lzZnMuYyBiL25ldC9zdW5ycGMvc3lzZnMuYwo+IGluZGV4IGEzYTJmOGFlYjgwZS4u NzMzMGViOWE3MGNmIDEwMDY0NAo+IC0tLSBhL25ldC9zdW5ycGMvc3lzZnMuYwo+ICsrKyBiL25l dC9zdW5ycGMvc3lzZnMuYwo+IEBAIC0zMTQsMzIgKzMxNCwxNCBAQCBzdGF0aWMgc3NpemVfdAo+ IHJwY19zeXNmc194cHJ0X3N0YXRlX2NoYW5nZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGdvdG8gcmVsZWFzZV90YXNrczsKPiDCoMKgwqDC oMKgwqDCoMKgfQo+IMKgwqDCoMKgwqDCoMKgwqBpZiAob2ZmbGluZSkgewo+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoIXRlc3RfYW5kX3NldF9iaXQoWFBSVF9PRkZMSU5FLCAm eHBydC0+c3RhdGUpKSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBzcGluX2xvY2soJnhwcy0+eHBzX2xvY2spOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgeHBzLT54cHNfbmFjdGl2ZS0tOwo+IC3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgc3Bpbl91bmxvY2soJnhwcy0+ eHBzX2xvY2spOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoHhwcnRfc2V0X29mZmxpbmVfbG9ja2VkKHhwcnQsIHhwcyk7 Cj4gwqDCoMKgwqDCoMKgwqDCoH0gZWxzZSBpZiAob25saW5lKSB7Cj4gLcKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoWFBSVF9PRkZMSU5FLCAmeHBy dC0+c3RhdGUpKSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBzcGluX2xvY2soJnhwcy0+eHBzX2xvY2spOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgeHBzLT54cHNfbmFjdGl2ZSsrOwo+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgc3Bpbl91bmxvY2soJnhwcy0+eHBz X2xvY2spOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoHhwcnRfc2V0X29ubGluZV9sb2NrZWQoeHBydCwgeHBzKTsKPiDC oMKgwqDCoMKgwqDCoMKgfSBlbHNlIGlmIChyZW1vdmUpIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgaWYgKHRlc3RfYml0KFhQUlRfT0ZGTElORSwgJnhwcnQtPnN0YXRlKSkgewo+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKCF0ZXN0 X2FuZF9zZXRfYml0KFhQUlRfUkVNT1ZFLCAmeHBydC0KPiA+c3RhdGUpKSB7Cj4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgeHBy dF9mb3JjZV9kaXNjb25uZWN0KHhwcnQpOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmICh0ZXN0X2JpdChYUFJUX0NPTk5F Q1RFRCwgJnhwcnQtCj4gPnN0YXRlKSkgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoIXhw cnQtPnNlbmRpbmcucWxlbiAmJgo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIXhwcnQt PnBlbmRpbmcucWxlbiAmJgo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIXhwcnQtPmJh Y2tsb2cucWxlbiAmJgo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIWF0b21pY19sb25n X3JlYWQoJnhwcnQtCj4gPnF1ZXVlbGVuKSkKPiAtCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoHJwY194cHJ0X3N3aXRjaF9yZW1vdmVfCj4geHBydCh4cHMsIHhwcnQpOwo+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoH0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oH0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfSBlbHNlIHsKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKHRlc3RfYml0KFhQUlRfT0ZGTElORSwgJnhwcnQtPnN0 YXRlKSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHhw cnRfZGVsZXRlX2xvY2tlZCh4cHJ0LCB4cHMpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBlbHNlCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgY291bnQgPSAtRUlOVkFMOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4g wqDCoMKgwqDCoMKgwqDCoH0KPiDCoAo+IMKgcmVsZWFzZV90YXNrczoKPiBkaWZmIC0tZ2l0IGEv bmV0L3N1bnJwYy94cHJ0LmMgYi9uZXQvc3VucnBjL3hwcnQuYwo+IGluZGV4IDg2ZDYyY2ZmYmEw ZC4uNjQ4MGFlMzI0YjI3IDEwMDY0NAo+IC0tLSBhL25ldC9zdW5ycGMveHBydC5jCj4gKysrIGIv bmV0L3N1bnJwYy94cHJ0LmMKPiBAQCAtMjE1MiwzICsyMTUyLDM4IEBAIHZvaWQgeHBydF9wdXQo c3RydWN0IHJwY194cHJ0ICp4cHJ0KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg a3JlZl9wdXQoJnhwcnQtPmtyZWYsIHhwcnRfZGVzdHJveV9rcmVmKTsKPiDCoH0KPiDCoEVYUE9S VF9TWU1CT0xfR1BMKHhwcnRfcHV0KTsKPiArCj4gK3ZvaWQgeHBydF9zZXRfb2ZmbGluZV9sb2Nr ZWQoc3RydWN0IHJwY194cHJ0ICp4cHJ0LCBzdHJ1Y3QKPiBycGNfeHBydF9zd2l0Y2ggKnhwcykK PiArewo+ICvCoMKgwqDCoMKgwqDCoGlmICghdGVzdF9hbmRfc2V0X2JpdChYUFJUX09GRkxJTkUs ICZ4cHJ0LT5zdGF0ZSkpIHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgc3Bpbl9s b2NrKCZ4cHMtPnhwc19sb2NrKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgeHBz LT54cHNfbmFjdGl2ZS0tOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzcGluX3Vu bG9jaygmeHBzLT54cHNfbG9jayk7Cj4gK8KgwqDCoMKgwqDCoMKgfQo+ICt9Cj4gK0VYUE9SVF9T WU1CT0woeHBydF9zZXRfb2ZmbGluZV9sb2NrZWQpOwo+ICsKPiArdm9pZCB4cHJ0X3NldF9vbmxp bmVfbG9ja2VkKHN0cnVjdCBycGNfeHBydCAqeHBydCwgc3RydWN0Cj4gcnBjX3hwcnRfc3dpdGNo ICp4cHMpCj4gK3sKPiArwqDCoMKgwqDCoMKgwqBpZiAodGVzdF9hbmRfY2xlYXJfYml0KFhQUlRf T0ZGTElORSwgJnhwcnQtPnN0YXRlKSkgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBzcGluX2xvY2soJnhwcy0+eHBzX2xvY2spOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqB4cHMtPnhwc19uYWN0aXZlKys7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oHNwaW5fdW5sb2NrKCZ4cHMtPnhwc19sb2NrKTsKPiArwqDCoMKgwqDCoMKgwqB9Cj4gK30KPiAr RVhQT1JUX1NZTUJPTCh4cHJ0X3NldF9vbmxpbmVfbG9ja2VkKTsKPiArCj4gK3ZvaWQgeHBydF9k ZWxldGVfbG9ja2VkKHN0cnVjdCBycGNfeHBydCAqeHBydCwgc3RydWN0Cj4gcnBjX3hwcnRfc3dp dGNoICp4cHMpCj4gK3sKPiArwqDCoMKgwqDCoMKgwqBpZiAodGVzdF9hbmRfc2V0X2JpdChYUFJU X1JFTU9WRSwgJnhwcnQtPnN0YXRlKSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuOwo+ICsKPiArwqDCoMKgwqDCoMKgwqB4cHJ0X2ZvcmNlX2Rpc2Nvbm5lY3QoeHBydCk7 Cj4gK8KgwqDCoMKgwqDCoMKgaWYgKCF0ZXN0X2JpdChYUFJUX0NPTk5FQ1RFRCwgJnhwcnQtPnN0 YXRlKSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuOwo+ICsKPiArwqDC oMKgwqDCoMKgwqBpZiAoIXhwcnQtPnNlbmRpbmcucWxlbiAmJiAheHBydC0+cGVuZGluZy5xbGVu ICYmCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgICF4cHJ0LT5iYWNrbG9nLnFsZW4gJiYgIWF0b21p Y19sb25nX3JlYWQoJnhwcnQtCj4gPnF1ZXVlbGVuKSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgcnBjX3hwcnRfc3dpdGNoX3JlbW92ZV94cHJ0KHhwcywgeHBydCk7Cj4gK30KPiAr RVhQT1JUX1NZTUJPTCh4cHJ0X2RlbGV0ZV9sb2NrZWQpOwoKV2h5IGFyZSB0aGVzZSBmdW5jdGlv bnMgYmVpbmcgZXhwb3J0ZWQ/IFRoZXJlIGlzIG5vdGhpbmcgb3V0c2lkZSB0aGUKbWFpbiBzdW5y cGMgbGF5ZXIgdGhhdCBzaG91bGQgYmUgdXNpbmcgdGhlbS4KCi0tIApUcm9uZCBNeWtsZWJ1c3QK TGludXggTkZTIGNsaWVudCBtYWludGFpbmVyLCBIYW1tZXJzcGFjZQp0cm9uZC5teWtsZWJ1c3RA aGFtbWVyc3BhY2UuY29tCgoK