Received: by 2002:a05:7412:31a9:b0:e2:908c:2ebd with SMTP id et41csp4044922rdb; Thu, 14 Sep 2023 10:04:43 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHAu+rNbVOqen2cTah+hOx08BDdy1fzo3gDVTuKGDz0TBWCi3ux/8xn+syAEaSYSUjd+smr X-Received: by 2002:a17:903:2691:b0:1c4:bc8:4b64 with SMTP id jf17-20020a170903269100b001c40bc84b64mr2238789plb.5.1694711083068; Thu, 14 Sep 2023 10:04:43 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1694711083; cv=pass; d=google.com; s=arc-20160816; b=mSej+aYrmDaPxuImevlzjI45rcSs5ayImw46Kjp0ez+ubHVIYU5TXUE75QEEXauDD0 hqe88y5Uyy+TQONFxUo0gIyQ+fMOrB1w99NS1JibZBPrQff+ta9Z3Uhdj6dKw2X06A1z vveCdCh+HRt8FFvhIxL9hHeHRJLhK5hfR4itumDNHI6OTZox51p8tICPv/4vFywzzSyl ItiKkXT19m9MjNylXBFL9gB12w7dl2U62OEwB7LPgMk8qjm905tE95lmL8uqCITF4tWN 6LZCRr/F4mCbuvCQzeDZ2A8Yq1nYame7w5rIZGK43bh7nZVLggOBmf2NNizjFOJAIztH 61Iw== 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-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=oU4h1Sd4nXEYgTsc2qjQ7NTaMHhLCeVm7xPyRooOjjE=; fh=uq0aFQ10XQGqrwkryYwvR8yCGk1KA6R5Vj8wJOQzgjw=; b=lZ8lw+q+7FfGRSwQ/ZAoB+o/YMylR+muwecHTpj/VmhblTeuh7/e1WK+2niZGHGeXn ZRvzI1KzPnsBfGbDvpbOAXQaMnxT56BnhnvoU4IbcU5HWUo9prLg4if5BxxRHHlTB3+X auDIvoXaNZ8N1HwPpI5T0n6GSK7olOCsKhrxByftv+bMJHhtsiVN/Fn5y8DCJyeh7eb8 bbv8dDKYGEjNM20JeYjGX6clkP01n98JtWSRLpZcaLGGScErKTh4xqGm5GZ3DgdfePY4 rOD8g4Y9IZtLCC+V88I4V/kdVKbYuZjcSLVd1snnnmwNj+J9kowk74WaorEUSx0+CPGe Y1HQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@vivo.com header.s=selector2 header.b=p+hckXvS; arc=pass (i=1 spf=pass spfdomain=vivo.com dkim=pass dkdomain=vivo.com dmarc=pass fromdomain=vivo.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=vivo.com Return-Path: Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id p18-20020a170902e75200b001c1f373ea07si2165570plf.351.2023.09.14.10.04.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Sep 2023 10:04:43 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@vivo.com header.s=selector2 header.b=p+hckXvS; arc=pass (i=1 spf=pass spfdomain=vivo.com dkim=pass dkdomain=vivo.com dmarc=pass fromdomain=vivo.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=vivo.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 5F55180713E4; Wed, 13 Sep 2023 21:12:44 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234408AbjINEMl (ORCPT + 99 others); Thu, 14 Sep 2023 00:12:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42710 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233817AbjINEMj (ORCPT ); Thu, 14 Sep 2023 00:12:39 -0400 Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01on2117.outbound.protection.outlook.com [40.107.215.117]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 193AEEC; Wed, 13 Sep 2023 21:12:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IdCTSfaG4wcgv0CwZ2oyV356Jn6D8+7B9zdEZK9u+C0ni7/EYaO4rbrWZ/5SkeLF4Cmyga7G37WO4TmL2nUUscI5zzMbDXdBOCRpVDO6WvO1UPPyPg327KsrmmBqHZcENZfMkfo5hQ3dN7ZwtnnIdv1GcBzfPlICe4oLASViF+4rNlf0E+5D1EghBp7b1HCCGe9ScRTnaOPihDVxK3b79S59neMGkmrrdAzDCm7PKno3X23qhzoA71LArfL4bSwwMfdoUmdjUGg5eiIspoP3buotIR3szq//71ITa+eh/NeWUKkw3uf9muZGrh6crAXbz0igd7LppsB34pkmazOjkA== 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=oU4h1Sd4nXEYgTsc2qjQ7NTaMHhLCeVm7xPyRooOjjE=; b=ZdTSVivZ0SV8EQUB2PB2+dg/B9Ywt8sl3fKKKtgJGTkds/cgOKvYRRjRzIIomrXqIZRXO6SYJspRJv+qRqXTRJM8TuAI0RbHmLPHv5+73Ti8Dat/H6sTg22hVtyxAkwtUS9ufxUL9NjvQ8udr9fFa5PQGbfuLYmlQJeYn87vZZxnxrJ76/2bmxNxTO5JMFWd8ic5uMVf9+WK9zqytQr0k72Kg7nwEaxoveskx2+2tHzcNOFAOn6H/HA0WEPn2OPloTp3d/AYfv4r+GBk5ZepZ9J3pjcN08M54UWKaGkzJJOBt04u3uYIfljxg7hjbhVfK/UtLBR0AV7jah4YFweg7g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vivo.com; dmarc=pass action=none header.from=vivo.com; dkim=pass header.d=vivo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vivo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oU4h1Sd4nXEYgTsc2qjQ7NTaMHhLCeVm7xPyRooOjjE=; b=p+hckXvSrwUO+6XvtcwG1Nvu3AzgHMcBBKQzk89eCAApYwmenuYrDHhoIfu86/QTeJxB7R4oYy9tHw8V9GMiHWMUeU8/hYcI+dzmyP/Ub8PhvnRXZth8RqJZ+tmqedTOsTSSWNJrG+13hVQ2QnNBhw8KeVXryw/TN45E7St25EQZBQ8r3Rj6/YHht7yQSOHMJgTvU5nhksguEE1bbiY4JLSv/kQKb5mkMSjZyjo9TdrV0mps8W5U5s+GiDPt7hv1jeoEOlw6KcckUZB7+tkgiRrPDL980NWSKx62g7W3mRErWWyWfDBri6c3kSwEQFvc9vR8hShe/l3rZ7OdjDEj9g== Received: from TY2PR06MB3342.apcprd06.prod.outlook.com (2603:1096:404:fb::23) by KL1PR0601MB3972.apcprd06.prod.outlook.com (2603:1096:820:25::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.20; Thu, 14 Sep 2023 04:12:31 +0000 Received: from TY2PR06MB3342.apcprd06.prod.outlook.com ([fe80::60d3:1ef9:d644:3959]) by TY2PR06MB3342.apcprd06.prod.outlook.com ([fe80::60d3:1ef9:d644:3959%4]) with mapi id 15.20.6792.019; Thu, 14 Sep 2023 04:12:31 +0000 From: =?gb2312?B?ufm0v7qj?= To: Jan Kara CC: "chao@kernel.org" , "jaegeuk@kernel.org" , "brauner@kernel.org" , "viro@zeniv.linux.org.uk" , "linux-fsdevel@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: =?gb2312?B?tPC4tDogW1BBVENIXSBmcy13cml0ZWJhY2s6IHdyaXRlYmFja19zYl9pbm9k?= =?gb2312?B?ZXM6IERvIG5vdCBpbmNyZWFzZSAndG90YWxfd3JvdGUnIHdoZW4gbm90aGlu?= =?gb2312?Q?g_is_written?= Thread-Topic: [PATCH] fs-writeback: writeback_sb_inodes: Do not increase 'total_wrote' when nothing is written Thread-Index: AQHZ5kM0QQWhEHqxKU2SqgBmGPZZhbAY3h6AgADYO8A= Date: Thu, 14 Sep 2023 04:12:31 +0000 Message-ID: References: <20230913131501.478516-1-guochunhai@vivo.com> <20230913151651.gzmyjvqwan3euhwi@quack3> In-Reply-To: <20230913151651.gzmyjvqwan3euhwi@quack3> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vivo.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TY2PR06MB3342:EE_|KL1PR0601MB3972:EE_ x-ms-office365-filtering-correlation-id: 141fad6a-0e13-4719-8ead-08dbb4d8d127 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: SwjFMLF96Uh8qun4HJek+wM/PhooSlA6XFt+RRFdQEQVK/BQfVUP2+gUaVudZrXztIJON1iStfLNasPQbMTAzxT8a3rkEuXpy2qz/DD+nfZYQ4JvJMF1dOrOyWw4ls9EmU2KzaR2/uebVoU6vRkDQIWVtTHkDlV4WWkP7jXod3OzjNzUI4ShCtF3m/tGLGNeK+4OVVVpd6u3tKAOelRkL01qDaBXjBRywNcZAYWSV3ABAORUb+2mUncaG57xAHcB6wAr3x7wBqTFyH38Df1B0uJGQrjEccwuhMnBFO4x4CKdl3UE/LT2VwNUVnjs8OprdnGKzj9+MVUTo9K6wwGxmwYPRBzkjQgO9wDh0rqxuTZ+hsKWh6npWqYNQWt5WuhbWIc7dnP1BAG3XcZ55M2SBtEPV8JhHXu4rrEJ4T84wseb/DAR9HwqfCiwhxBDSXRDZb5v5RR1fR8LZnWZl8nvMGfpld7q7Xu50Et5akosM0DzQhexucj3Cn83xNYNuLVyD1RLGsKp0BLP5+KXlb5w6qCCgkzQIGyThEyJTlupURPMNaqH/wKKBaT1QWy/nmaZWg4gDyjox07CWg3J+HE0g+Pa01sHHYNZkZPrl8PveFZ1wLLYRl4IYAOw28opPDm9 x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY2PR06MB3342.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(376002)(396003)(346002)(366004)(451199024)(1800799009)(186009)(83380400001)(5660300002)(52536014)(4326008)(26005)(8936002)(9686003)(7696005)(71200400001)(6506007)(478600001)(122000001)(6916009)(64756008)(66446008)(66556008)(54906003)(66476007)(316002)(41300700001)(66946007)(55016003)(76116006)(85182001)(86362001)(33656002)(2906002)(224303003)(38100700002)(38070700005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?gb2312?B?NEl2Z3ErbE1wUThqN3NsLzJxaW5nd2hmenoxSkdISzdZaW0rWWNjWXorM2JJ?= =?gb2312?B?UWJ2Mmg2aXVoSVJpZHB6WndLNnpJK2ZIUk5zandxNWhRYmU3dFZwYVRJdUNk?= =?gb2312?B?enBSeVZHdFRmeXRwQkp6bHo1eC9xZ0pxUmxpbzQrOC9DRGticldFSWlrUFJC?= =?gb2312?B?WEVlNzVJWEpTQXQrQUo5bWR4akZwQWZzSUx3Q05aMFB0cnZTV2d4ZGtCaE9a?= =?gb2312?B?aDUrTy9wU1o5aDBoemdGdHR4UDFKV0ttT2pQZUhxamJVTWVkclQvaHVHbkVU?= =?gb2312?B?UnhTeFVoU3Rvb3liNUg0V2hrVGRGZVMxN3pRekEvTDFMeFFBeFNDcUNXa2V3?= =?gb2312?B?ZEg5WU9uTktmNEdSNUQzaGhBOFovQjN3TDh6V2h5aEFiNE9mQTJmUjZ4L09q?= =?gb2312?B?SXVkNEVZUG1vdUFQbHd4SXdoQ1Q3SkV5akNMdkZoOXVwT0kwVE52TFBXWmVE?= =?gb2312?B?NEFvbnYxalRKQitUSkV4NlhGS0hpOTlpT3NZMzIzYjhCM1R5SjZtV1FZUkc1?= =?gb2312?B?SzhzZGpwczJWd3BIbzVKaHY0eWI5NTdXc3lQUGhKcXRuVE1EV3lOb20raGtX?= =?gb2312?B?RDdNU2s0Y0FHeDM4S3g1R0M2aDNJc0djYTc1TFVUUDB4Q3YzZk5rZzROa3Fy?= =?gb2312?B?RzdldDhCM3ZTOGN4UE9UcjQwYzVqY294cjladHMxRWtqRVlRckw2Z0hGYjlx?= =?gb2312?B?OVZ0ZjArRzl1TWpQbkVnamFQYW94M2RyOWtEQy9iTklHWDFRY2dpRlJCLy9U?= =?gb2312?B?YnArcm90VEpFWVJtZGFWemdEaVdHTU96OVVSUTlHZENPamZFYnJtMW1oM0xp?= =?gb2312?B?akd4ZThyMTNvZ3g2VU1FZG9RbUJzWjJ2d05uTnowc3hVZUdRSnpvL3Fwb1pQ?= =?gb2312?B?MzNLSkplK0k0bzhjVHB4KzI4Nzc4dXJYRW5xSVZYbXVyVmlLSlk3dllGMVpp?= =?gb2312?B?TnJtVFNPbkc3QzRuMVBVeDBjVEw3QXIvV3cxVjVvL0srMkltWGxlcTB2VEhs?= =?gb2312?B?WWlXeG1TMjI5N2ZIbm0yemQvalVRRm82bjFEYVlDZWt4TnpOdUtmQUxiZnFI?= =?gb2312?B?TkNOUkgvY3FxbnNLb3dtcXRFS2xHSEFOZlEyTHVDMnhrbTl0Z0wvZEpuOGE5?= =?gb2312?B?UysrT3FDVEhEL1Z4NmlWN0YvaTlJUlJJNjBsRURHeEpPcDNDcWhSdXBFZ24r?= =?gb2312?B?RzIxdkhKYTdYTlZFNndLUHdhRHFoOG5iMmt1bTQyTjhSV2NzYnBCUjE1VDFj?= =?gb2312?B?bWFveDQwTEFtVWl1dndMajJtZ3MrT2E4dkx0eFk2V1B6ZzFobVJJc01iNXNZ?= =?gb2312?B?cyszWDB1K1N4ZTJxZTRZYmJiLzJsM1pBNnFvN2x6eFoySzFJVXFxV3p1MzNM?= =?gb2312?B?bEpjUyttbms4eFIxcUVMZDlqM3RUM1EvM1RsVWRkWUY5aVNqaG9KeWZwUFJz?= =?gb2312?B?Tkd0YWY3R3AzRjN6bjFRTHQ5YmRHN2NJSFZqSVJITnZ5bmJodUR1Nk9lQ09O?= =?gb2312?B?Q0dtdlhIZXVxT2hycFErQWZwRGgzRlBDdC9yRmNsQTF2RE9NSDhwM29tVTVC?= =?gb2312?B?ZU1yMVdQakJoMzZiVTVqS0prcjFDTHMrYlk1Y055dC9JVUJMUVNNT1BDSFNw?= =?gb2312?B?Z2NqN2lxMzFpQmo2YUFjR0N3YytaVExzUGRvUlVROUdZdVhJN0VvRUhGZksy?= =?gb2312?B?cThDdzJMaUhINUd3NVhKT2kyVEVRR1AySHNSVHFYRXUxR1YzWGZzeEZCUmNv?= =?gb2312?B?MmQ4WEMwcWgzTEtwdjZGcU1LOUx2eFRtRjNyUGM1OGlkeC8yMzNKbURqL0Zq?= =?gb2312?B?U0Q1ZktKS2FUM0U1MTJpckgzanNKTUc3UnVCQVUwZ014cmk5ck02Nm1VU1dT?= =?gb2312?B?UEVKM2ZFV0ZpaS9BYWpHdXFtMDA5Z2RxZ2pZaGlUVVM1WVUxbTBhUmR4QWxF?= =?gb2312?B?QzM1N1RPZ0llaGp0S0RZSHR5YXJSV3ZhZnFBYW1iOWltVkNQWEt5d2FmRDR6?= =?gb2312?B?QTc0ZnM5U1NJU0dZVmFPL0phTWZmOXFveTVPMEhDdlNMRm5BcDlhY2tMY0Ix?= =?gb2312?B?SDJ3a2MvS1lZZDRsY2JQZ1NCTVhETzA3dzBEQlVsRTJkdjlWc1o1UHNxK1o2?= =?gb2312?Q?vM+o=3D?= Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: vivo.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TY2PR06MB3342.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 141fad6a-0e13-4719-8ead-08dbb4d8d127 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Sep 2023 04:12:31.7777 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 923e42dc-48d5-4cbe-b582-1a797a6412ed X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: PT6/Q4fKRcFwW+ROPBlytY9Q6tLxbOF3L7GYSsZU2N6KvKBbyu2gNYu6QwzgythrAO7Bs0qGld0hd5//TEuBjQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: KL1PR0601MB3972 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Wed, 13 Sep 2023 21:12:44 -0700 (PDT) PiBPbiBXZWQgMTMtMDktMjMgMDc6MTU6MDEsIENodW5oYWkgR3VvIHdyb3RlOg0KPiA+ID4gT24g V2VkIDEzLTA5LTIzIDEwOjQyOjIxLCBDaHJpc3RpYW4gQnJhdW5lciB3cm90ZToNCj4gPiA+ID4g WytDYyBKYW5dDQo+ID4gPg0KPiA+ID4gVGhhbmtzIQ0KPiA+ID4NCj4gPiA+ID4gT24gVHVlLCBT ZXAgMTIsIDIwMjMgYXQgMDg6MjA6NDNBTSAtMDYwMCwgQ2h1bmhhaSBHdW8gd3JvdGU6DQo+ID4g PiA+ID4gSSBhbSBlbmNvdW50ZXJpbmcgYSBkZWFkbG9jayBpc3N1ZSBhcyBzaG93biBiZWxvdy4g VGhlcmUgaXMgYQ0KPiA+ID4gPiA+IGNvbW1pdCAzNDQxNTA5OTliN2YgKCJmMmZzOiBmaXggdG8g YXZvaWQgcG90ZW50aWFsIGRlYWRsb2NrIikNCj4gPiA+ID4gPiBjYW4gZml4IHRoaXMgaXNzdWUu DQo+ID4gPiA+ID4gSG93ZXZlciwgZnJvbSBsb2cgYW5hbHlzaXMsIGl0IGFwcGVhcnMgdGhhdCB0 aGlzIGlzIG1vcmUgbGlrZWx5DQo+ID4gPiA+ID4gYSBmYWtlIHByb2dyZXNzIGlzc3VlIHNpbWls YXIgdG8gY29tbWl0IDY4ZjRjNmViYTcwZCAoImZzLXdyaXRlYmFjazoNCj4gPiA+ID4gPiB3cml0 ZWJhY2tfc2JfaW5vZGVzOiBSZWNhbGN1bGF0ZSAnd3JvdGUnIGFjY29yZGluZyBza2lwcGVkIHBh Z2VzIikuDQo+ID4gPiA+ID4gSW4gZWFjaCB3cml0ZWJhY2sgaXRlcmF0aW9uLCBub3RoaW5nIGlz IHdyaXR0ZW4sIHdoaWxlDQo+ID4gPiA+ID4gd3JpdGViYWNrX3NiX2lub2RlcygpIGluY3JlYXNl cyAndG90YWxfd3JvdGUnIGVhY2ggdGltZSwgY2F1c2luZw0KPiA+ID4gPiA+IGFuIGluZmluaXRl IGxvb3AuIFRoaXMgcGF0Y2ggZml4ZXMgdGhpcyBpc3N1ZSBieSBub3QgaW5jcmVhc2luZw0KPiA+ ID4gPiA+ICd0b3RhbF93cm90ZScgd2hlbiBub3RoaW5nIGlzIHdyaXR0ZW4uDQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiAgICAgd2Jfd3JpdGViYWNrICAgICAgICBmc3luYyAoaW5vZGUtWSkNCj4gPiA+ ID4gPiBibGtfc3RhcnRfcGx1ZygmcGx1ZykNCj4gPiA+ID4gPiBmb3IgKDs7KSB7DQo+ID4gPiA+ ID4gICBpdGVyIGktMTogc29tZSByZXFzIHdpdGggcGFnZS1YIGFkZGVkIGludG8gcGx1Zy0+bXFf bGlzdCAvLyBmMmZzIG5vZGUNCj4gPiA+ID4gPiAgIHBhZ2UtWCB3aXRoIFBHX3dyaXRlYmFjaw0K PiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVtYXBfZmRhdGF3cml0ZQ0KPiA+ ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgX19maWxlbWFwX2ZkYXRhd3JpdGVfcmFu Z2UgLy8gd3JpdGUgaW5vZGUtWQ0KPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAg d2l0aCBzeW5jX21vZGUgV0JfU1lOQ19BTEwNCj4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkb193cml0ZXBhZ2VzDQo+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGYyZnNfd3JpdGVfZGF0YV9wYWdlcw0KPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgX19mMmZzX3dyaXRlX2RhdGFfcGFnZXMgLy8NCj4gPiA+ID4gPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHdiX3N5bmNfcmVxW0RBVEFdKysgZm9yIFdCX1NZTkNfQUxMDQo+ ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZjJmc193cml0ZV9jYWNoZV9w YWdlcw0KPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmMmZzX3dyaXRl X3NpbmdsZV9kYXRhX3BhZ2UNCj4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGYyZnNfZG9fd3JpdGVfZGF0YV9wYWdlDQo+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZjJmc19vdXRwbGFjZV93cml0ZV9kYXRhDQo+ID4gPiA+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYyZnNfdXBkYXRlX2RhdGFfYmxrYWRkcg0KPiA+ ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZjJmc193YWl0X29uX3Bh Z2Vfd3JpdGViYWNrDQo+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHdhaXRfb25fcGFnZV93cml0ZWJhY2sgLy8gd2FpdCBmb3INCj4gPiA+ID4gPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZjJmcyBub2RlIHBhZ2UtWA0KPiA+ID4gPiA+ ICAgaXRlciBpOg0KPiA+ID4gPiA+ICAgICBwcm9ncmVzcyA9IF9fd3JpdGViYWNrX2lub2Rlc193 Yih3Yiwgd29yaykNCj4gPiA+ID4gPiAgICAgLiB3cml0ZWJhY2tfc2JfaW5vZGVzDQo+ID4gPiA+ ID4gICAgIC4gICBfX3dyaXRlYmFja19zaW5nbGVfaW5vZGUgLy8gd3JpdGUgaW5vZGUtWSB3aXRo IHN5bmNfbW9kZQ0KPiA+ID4gPiA+ICAgICBXQl9TWU5DX05PTkUNCj4gPiA+ID4gPiAgICAgLiAg IC4gZG9fd3JpdGVwYWdlcw0KPiA+ID4gPiA+ICAgICAuICAgLiAgIGYyZnNfd3JpdGVfZGF0YV9w YWdlcw0KPiA+ID4gPiA+ICAgICAuICAgLiAgIC4gIF9fZjJmc193cml0ZV9kYXRhX3BhZ2VzIC8v IHNraXAgd3JpdGVwYWdlcyBkdWUgdG8NCj4gPiA+ID4gPiAgICAgKHdiX3N5bmNfcmVxW0RBVEFd PjApDQo+ID4gPiA+ID4gICAgIC4gICAuICAgLiAgIHdiYy0+cGFnZXNfc2tpcHBlZCArPSBnZXRf ZGlydHlfcGFnZXMoaW5vZGUpIC8vDQo+ID4gPiA+ID4gICAgIHdiYy0+cGFnZXNfc2tpcHBlZCA9 IDENCj4gPiA+ID4gPiAgICAgLiAgIGlmICghKGlub2RlLT5pX3N0YXRlICYgSV9ESVJUWV9BTEwp KSAvLyBpX3N0YXRlID0gSV9TWU5DIHwNCj4gPiA+ID4gPiAgICAgSV9TWU5DX1FVRVVFRA0KPiA+ ID4gPiA+ICAgICAuICAgIHRvdGFsX3dyb3RlKys7ICAvLyB0b3RhbF93cm90ZSA9IDENCj4gPiA+ ID4gPiAgICAgLiAgIHJlcXVldWVfaW5vZGUgLy8gcmVxdWV1ZSBpbm9kZS1ZIHRvIHdiLT5iX2Rp cnR5IHF1ZXVlIGR1ZSB0bw0KPiA+ID4gPiA+ICAgICBub24temVybyBwYWdlc19za2lwcGVkDQo+ ID4gPiA+ID4gICAgIGlmIChwcm9ncmVzcykgLy8gcHJvZ3Jlc3MgPSAxDQo+ID4gPiA+ID4gICAg ICAgY29udGludWU7DQo+ID4gPiA+ID4gICBpdGVyIGkrMToNCj4gPiA+ID4gPiAgICAgICBxdWV1 ZV9pbw0KPiA+ID4gPiA+ICAgICAgIC8vIHNpbWlsYXIgcHJvY2VzcyB3aXRoIGl0ZXIgaSwgaW5m aW5pdGUgZm9yLWxvb3AgIQ0KPiA+ID4gPiA+IH0NCj4gPiA+ID4gPiBibGtfZmluaXNoX3BsdWco JnBsdWcpICAgLy8gZmx1c2ggcGx1ZyB3b24ndCBiZSBjYWxsZWQNCj4gPiA+ID4gPg0KPiA+ID4g PiA+IFNpZ25lZC1vZmYtYnk6IENodW5oYWkgR3VvIDxndW9jaHVuaGFpQHZpdm8uY29tPg0KPiA+ ID4NCj4gPiA+IFRoYW5rcyBmb3IgdGhlIHBhdGNoIGJ1dCBkaWQgeW91IHRlc3QgdGhpcyBwYXRj aCBmaXhlZCB5b3VyIGRlYWRsb2NrPw0KPiA+ID4gQmVjYXVzZSB0aGUgcGF0Y2ggc2VlbXMgbGlr ZSBhIG5vb3AgdG8gbWUuIExvb2s6DQo+ID4NCj4gPiBZZXMuIEkgaGF2ZSB0ZXN0ZWQgdGhpcyBw YXRjaCBhbmQgaXQgaW5kZWVkIGZpeGVkIHRoaXMgZGVhZGxvY2sgaXNzdWUsIHRvby4NCj4gDQo+ IE9LLCB0aGFua3MgZm9yIGxldHRpbmcgbWUga25vdyENCj4gDQo+ID4gPiA+ID4gZGlmZiAtLWdp dCBhL2ZzL2ZzLXdyaXRlYmFjay5jIGIvZnMvZnMtd3JpdGViYWNrLmMgaW5kZXgNCj4gPiA+ID4g PiA5NjljZTk5MWIwYjAuLjU0Y2RlZTkwNmJlOSAxMDA2NDQNCj4gPiA+ID4gPiAtLS0gYS9mcy9m cy13cml0ZWJhY2suYw0KPiA+ID4gPiA+ICsrKyBiL2ZzL2ZzLXdyaXRlYmFjay5jDQo+ID4gPiA+ ID4gQEAgLTE4MjAsNiArMTgyMCw3IEBAIHN0YXRpYyBsb25nIHdyaXRlYmFja19zYl9pbm9kZXMo c3RydWN0DQo+ID4gPiA+ID4gc3VwZXJfYmxvY2sgKnNiLA0KPiA+ID4gPiA+ICAgICAgICAgICAg IHN0cnVjdCBpbm9kZSAqaW5vZGUgPSB3Yl9pbm9kZSh3Yi0+Yl9pby5wcmV2KTsNCj4gPiA+ID4g PiAgICAgICAgICAgICBzdHJ1Y3QgYmRpX3dyaXRlYmFjayAqdG1wX3diOw0KPiA+ID4gPiA+ICAg ICAgICAgICAgIGxvbmcgd3JvdGU7DQo+ID4gPiA+ID4gKyAgICAgICAgICAgYm9vbCBpc19kaXJ0 eV9iZWZvcmU7DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAgICAgICAgICAgICBpZiAoaW5vZGUtPmlf c2IgIT0gc2IpIHsNCj4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgIGlmICh3b3JrLT5zYikg eyBAQCAtMTg4MSw2ICsxODgyLDcgQEAgc3RhdGljDQo+ID4gPiA+ID4gbG9uZyB3cml0ZWJhY2tf c2JfaW5vZGVzKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsDQo+ID4gPiA+ID4gICAgICAgICAgICAg ICAgICAgICBjb250aW51ZTsNCj4gPiA+ID4gPiAgICAgICAgICAgICB9DQo+ID4gPiA+ID4gICAg ICAgICAgICAgaW5vZGUtPmlfc3RhdGUgfD0gSV9TWU5DOw0KPiA+ID4gPiA+ICsgICAgICAgICAg IGlzX2RpcnR5X2JlZm9yZSA9IGlub2RlLT5pX3N0YXRlICYgSV9ESVJUWV9BTEw7DQo+ID4gPg0K PiA+ID4gaXNfZGlydHlfYmVmb3JlIGlzIGdvaW5nIHRvIGJlIHNldCBpZiB0aGVyZSdzIGFueXRo aW5nIGRpcnR5IC0NCj4gPiA+IGlub2RlLCBwYWdlLCB0aW1lc3RhbXAuIFNvIGl0IGNhbiBiZSB1 bnNldCBvbmx5IGlmIHRoZXJlIGFyZSBubw0KPiA+ID4gZGlydHkgcGFnZXMsIGluIHdoaWNoIGNh c2UgdGhlcmUgYXJlIG5vIHBhZ2VzIHRoYXQgY2FuIGJlIHNraXBwZWQNCj4gPiA+IGR1cmluZyBw YWdlIHdyaXRlYmFjaywgd2hpY2ggbWVhbnMgdGhhdCByZXF1ZXVlX2lub2RlKCkgd2lsbCBnbyBh bmQNCj4gPiA+IHJlbW92ZSBpbm9kZSBmcm9tIGJfaW8vYl9kaXJ0eSBsaXN0cyBhbmQgaXQgd2ls bCBub3QgcGFydGljaXBhdGUgaW4gd3JpdGViYWNrDQo+IGFueW1vcmUuDQo+ID4gPg0KPiA+ID4g U28gSSBkb24ndCBzZWUgaG93IHRoaXMgcGF0Y2ggY2FuIGJlIGhlbHBpbmcgYW55dGhpbmcuLi4g UGxlYXNlDQo+ID4gPiBjb3JyZWN0IG1lIGlmIEknbSBtaXNzaW5nIGFueXRoaW5nLg0KPiA+ID4N Cj4gPiA+IEhvbnphDQo+ID4NCj4gPiBGcm9tIHRoZSBkdW1wIGluZm8sIHRoZXJlIGFyZSBvbmx5 IHR3byBwYWdlcyBhcyBzaG93biBiZWxvdy4gT25lIGlzDQo+ID4gdXBkYXRlZCBhbmQgYW5vdGhl ciBpcyB1bmRlciB3cml0ZWJhY2suIE1heWJlIGYyZnMgY291bnRzIHRoZQ0KPiA+IHdyaXRlYmFj ayBwYWdlIGFzIGEgZGlydHkgb25lLCBzbyBnZXRfZGlydHlfcGFnZXMoKSBnb3Qgb25lLiBBcyB5 b3UNCj4gPiBzYWlkLCBtYXliZSB0aGlzIGlzIHVucmVhc29uYWJsZS4NCj4gPg0KPiA+IEphZWdl dWsgJiBDaGFvLCB3aGF0IGRvIHlvdSB0aGluayBvZiB0aGlzPw0KPiA+DQo+ID4NCj4gPiBjcmFz aF8zMj4gZmlsZXMgLXAgMHhFNUE0NDY3OA0KPiA+ICBJTk9ERSAgICBOUlBBR0VTDQo+ID4gZTVh NDQ2NzggICAgICAgIDINCj4gPg0KPiA+ICAgUEFHRSAgICBQSFlTSUNBTCAgIE1BUFBJTkcgICAg SU5ERVggQ05UIEZMQUdTDQo+ID4gZThkMGUzMzggIDY0MWRlMDAwICBlNWE0NDgxMCAgICAgICAg IDAgIDUgYTA5NQ0KPiBsb2NrZWQsd2FpdGVycyx1cHRvZGF0ZSxscnUscHJpdmF0ZSx3cml0ZWJh Y2sNCj4gPiBlOGFkNTlhMCAgNTQ1MjgwMDAgIGU1YTQ0ODEwICAgICAgICAgMSAgMiAyMDM2DQo+ IHJlZmVyZW5jZWQsdXB0b2RhdGUsbHJ1LGFjdGl2ZSxwcml2YXRlDQo+IA0KPiBJbmRlZWQsIGlu Y3JlbWVudGluZyBwYWdlc19za2lwcGVkIHdoZW4gdGhlcmUncyBubyBkaXJ0eSBwYWdlIGlzIGEg Yml0IG9kZC4NCj4gVGhhdCBiZWluZyBzYWlkIHdlIGNvdWxkIGFsc28gaGFyZGVuIHJlcXVldWVf aW5vZGUoKSAtIGluIHBhcnRpY3VsYXIgd2UgY291bGQgZG8NCj4gdGhlcmU6DQo+IA0KPiAgICAg ICAgIGlmICh3YmMtPnBhZ2VzX3NraXBwZWQpIHsNCj4gICAgICAgICAgICAgICAgIC8qDQo+ICAg ICAgICAgICAgICAgICAgKiBXcml0ZWJhY2sgaXMgbm90IG1ha2luZyBwcm9ncmVzcyBkdWUgdG8g bG9ja2VkIGJ1ZmZlcnMuDQo+ICAgICAgICAgICAgICAgICAgKiBTa2lwIHRoaXMgaW5vZGUgZm9y IG5vdy4gQWx0aG91Z2ggaGF2aW5nIHNraXBwZWQgcGFnZXMNCj4gICAgICAgICAgICAgICAgICAq IGlzIG9kZCBmb3IgY2xlYW4gaW5vZGVzLCBpdCBjYW4gaGFwcGVuIGZvciBzb21lDQo+ICAgICAg ICAgICAgICAgICAgKiBmaWxlc3lzdGVtcyBzbyBoYW5kbGUgdGhhdCBncmFjZWZ1bGx5Lg0KPiAg ICAgICAgICAgICAgICAgICovDQo+ICAgICAgICAgICAgICAgICBpZiAoaW5vZGUtPmlfc3RhdGUg JiBJX0RJUlRZX0FMTCkNCj4gICAgICAgICAgICAgICAgICAgICAgICAgcmVkaXJ0eV90YWlsX2xv Y2tlZChpbm9kZSwgd2IpOw0KPiAgICAgICAgICAgICAgICAgZWxzZQ0KPiAgICAgICAgICAgICAg ICAgICAgICAgICBpbm9kZV9jZ3diX21vdmVfdG9fYXR0YWNoZWQoaW5vZGUsIHdiKTsNCj4gICAg ICAgICB9DQo+IA0KPiBEb2VzIHRoaXMgZml4IHlvdXIgcHJvYmxlbSBhcyB3ZWxsPw0KPiANCj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEhvbnphDQoNClRoYW5rIHlvdSBmb3IgeW91ciByZXBseS4gRGlkIHlvdSBmb3JnZXQg dGhlICdyZXR1cm4nIHN0YXRlbWVudD8gU2luY2UgSSBlbmNvdW50ZXJlZCB0aGlzIGlzc3VlIG9u IHRoZSA0LjE5IGtlcm5lbCBhbmQgdGhlcmUgaXMgbm90IGlub2RlX2Nnd2JfbW92ZV90b19hdHRh Y2hlZCgpIHlldCwgSSByZXBsYWNlZCBpdCB3aXRoIGlub2RlX2lvX2xpc3RfZGVsX2xvY2tlZCgp LiBTbywgYmVsb3cgaXMgdGhlIHRlc3QgcGF0Y2ggSSBhbSBhcHBseWluZy4gUGxlYXNlIGhhdmUg YSBjaGVjay4gQnkgdGhlIHdheSwgdGhlIHRlc3Qgd2lsbCB0YWtlIHNvbWUgdGltZS4gSSB3aWxs IHByb3ZpZGUgZmVlZGJhY2sgd2hlbiBpdCBpcyBmaW5pc2hlZC4gVGhhbmtzLg0KDQoJaWYgKHdi Yy0+cGFnZXNfc2tpcHBlZCkgew0KCQkvKg0KCQkgKiB3cml0ZWJhY2sgaXMgbm90IG1ha2luZyBw cm9ncmVzcyBkdWUgdG8gbG9ja2VkDQoJCSAqIGJ1ZmZlcnMuIFNraXAgdGhpcyBpbm9kZSBmb3Ig bm93Lg0KCQkgKi8NCi0JCXJlZGlydHlfdGFpbF9sb2NrZWQoaW5vZGUsIHdiKTsNCisJCWlmIChp bm9kZS0+aV9zdGF0ZSAmIElfRElSVFlfQUxMKQ0KKwkJCXJlZGlydHlfdGFpbF9sb2NrZWQoaW5v ZGUsIHdiKTsNCisJCWVsc2UNCisJCQlpbm9kZV9pb19saXN0X2RlbF9sb2NrZWQoaW5vZGUsIHdi KTsNCiAJCXJldHVybjsNCiAJfQ0KDQo+ID4NCj4gPiBUaGFua3MsDQo+ID4NCj4gPiA+DQo+ID4g Pg0KPiA+ID4gPiA+ICAgICAgICAgICAgIHdiY19hdHRhY2hfYW5kX3VubG9ja19pbm9kZSgmd2Jj LCBpbm9kZSk7DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAgICAgICAgICAgICB3cml0ZV9jaHVuayA9 IHdyaXRlYmFja19jaHVua19zaXplKHdiLCB3b3JrKTsgQEANCj4gPiA+ID4gPiAtMTkxOCw3DQo+ ID4gPiA+ID4gKzE5MjAsNyBAQCBzdGF0aWMgbG9uZyB3cml0ZWJhY2tfc2JfaW5vZGVzKHN0cnVj dCBzdXBlcl9ibG9jaw0KPiA+ID4gPiA+ICsqc2IsDQo+ID4gPiA+ID4gICAgICAgICAgICAgICov DQo+ID4gPiA+ID4gICAgICAgICAgICAgdG1wX3diID0gaW5vZGVfdG9fd2JfYW5kX2xvY2tfbGlz dChpbm9kZSk7DQo+ID4gPiA+ID4gICAgICAgICAgICAgc3Bpbl9sb2NrKCZpbm9kZS0+aV9sb2Nr KTsNCj4gPiA+ID4gPiAtICAgICAgICAgICBpZiAoIShpbm9kZS0+aV9zdGF0ZSAmIElfRElSVFlf QUxMKSkNCj4gPiA+ID4gPiArICAgICAgICAgICBpZiAoIShpbm9kZS0+aV9zdGF0ZSAmIElfRElS VFlfQUxMKSAmJg0KPiA+ID4gPiA+ICsgaXNfZGlydHlfYmVmb3JlKQ0KPiA+ID4gPiA+ICAgICAg ICAgICAgICAgICAgICAgdG90YWxfd3JvdGUrKzsNCj4gPiA+ID4gPiAgICAgICAgICAgICByZXF1 ZXVlX2lub2RlKGlub2RlLCB0bXBfd2IsICZ3YmMpOw0KPiA+ID4gPiA+ICAgICAgICAgICAgIGlu b2RlX3N5bmNfY29tcGxldGUoaW5vZGUpOw0KPiA+ID4gPiA+IC0tDQo+ID4gPiA+ID4gMi4yNS4x DQo+ID4gPiA+ID4NCj4gPiA+IC0tDQo+ID4gPiBKYW4gS2FyYSA8amFja0BzdXNlLmNvbT4NCj4g PiA+IFNVU0UgTGFicywgQ1INCj4gPg0KPiAtLQ0KPiBKYW4gS2FyYSA8amFja0BzdXNlLmNvbT4N Cj4gU1VTRSBMYWJzLCBDUg0K