From patchwork Thu Dec 28 06:59:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yuezhang.Mo@sony.com" X-Patchwork-Id: 13505642 Received: from mx08-001d1705.pphosted.com (mx08-001d1705.pphosted.com [185.183.30.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8C11663AE for ; Thu, 28 Dec 2023 07:00:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sony.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sony.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sony.com header.i=@sony.com header.b="BHUd2vkh" Received: from pps.filterd (m0209319.ppops.net [127.0.0.1]) by mx08-001d1705.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3BS6KLia020276; Thu, 28 Dec 2023 06:59:46 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sony.com; h=from : to : cc : subject : date : message-id : mime-version : content-type : content-transfer-encoding; s=S1; bh=8Z8lKm/tN8zOAaHNvIHOs279XEQJO/kpBKk2dmXLyE0=; b=BHUd2vkheyP1MklTgyJYJ8+uEM8NuIVoHG7qKZ+oB1TOl2WDMArfRUNDMaGesBRGZbfa lcn/hLvTisA126cG4d0+2ori9q5NFAL7DNPVVF0cEYBMb2CP0DRcZ2phLlAqGSXXvfjO k1oYRAbHbJwdA0vkig8+j647raBXfoiyq8hT8GFsg4dz3nEAWlh7o2kyjQjIVeL8G/rX F9juDl0mlV+66Fgclm6FWDYuFAV5mvq0Hm6XxAJrRAq4rr/q09CWR5//UilxTB/zd9v5 hx6g/8CxV+aSVk+e44R65YPIfdMKCG/7KJr53kLplN7Ap19sRCWfqu9okCI63AV6oLBg zw== Received: from apc01-tyz-obe.outbound.protection.outlook.com (mail-tyzapc01lp2040.outbound.protection.outlook.com [104.47.110.40]) by mx08-001d1705.pphosted.com (PPS) with ESMTPS id 3v5qxtbsed-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 28 Dec 2023 06:59:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ey+hP0xPn8AHWraBjnVP2VvWA3JJST9dtychj8XpbvMT4AesR8Fmtpih1U61FaAOPuqrJjUN3Pxb4HbBHRTNS0UrD05GjbJMC1lP3YdX1K8x5ESxi1UfS1I0Nl0Sal9fpzZmGUSrvBdA1CUerKylw0li19XFrDHv5ixfqU5R01gruaROCwzG50ll9x0T5oZnyEJWDrGT2n8fBmkYStVi3S9Q02NfPA9d+seTUFMERUrID85hv5DyUthj2wOBlOk5slkQPGSrcUS++daYwMqkb87Ck89Hf+Fl5G96uR9x3EWTM7ORsecA/7mtjvvaK12BRs74SuPYakBncxbviWu2kg== 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=8Z8lKm/tN8zOAaHNvIHOs279XEQJO/kpBKk2dmXLyE0=; b=HyzyUQe/KzK4313pV1fnFqITWCDR6BSv7QXdmWcMNR9D1U2+FtLeoOh0iw9GZihu48GWdNuEvrO1OfwhJNtSF7G3Oom6bshO6Bj5KWwNV5vqVbbN+PGcBy7eQ6jM8r3h3PlkoFILOl0f7ET/yfqwfT5CAXMaeKvBgBwF70HKfH5B9MyuzX6/ccIZkPjYs5oQ06egdd5ihPZDLDyrbDkWDwuT16n5Bt5kxYIeZ94z3VTwj/+hc+COBesWHysF3bwWWe1CxwDU7R1W1wS7WMZ8q1U9e+0+1+uDfhSQSy3bzTlZodbyPt9RGHB7Kb6mpp6HZLW7JWFXRDsD/3k+t0gQtA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sony.com; dmarc=pass action=none header.from=sony.com; dkim=pass header.d=sony.com; arc=none Received: from PUZPR04MB6316.apcprd04.prod.outlook.com (2603:1096:301:fc::7) by KL1PR04MB6878.apcprd04.prod.outlook.com (2603:1096:820:d5::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7113.26; Thu, 28 Dec 2023 06:59:43 +0000 Received: from PUZPR04MB6316.apcprd04.prod.outlook.com ([fe80::5914:6fc7:b79d:7e34]) by PUZPR04MB6316.apcprd04.prod.outlook.com ([fe80::5914:6fc7:b79d:7e34%7]) with mapi id 15.20.7113.026; Thu, 28 Dec 2023 06:59:43 +0000 From: "Yuezhang.Mo@sony.com" To: "linkinjeon@kernel.org" , "sj1557.seo@samsung.com" CC: "linux-fsdevel@vger.kernel.org" , "Andy.Wu@sony.com" , "Wataru.Aoyama@sony.com" Subject: [PATCH v2 05/10] exfat: move free cluster out of exfat_init_ext_entry() Thread-Topic: [PATCH v2 05/10] exfat: move free cluster out of exfat_init_ext_entry() Thread-Index: Ado5WfYsa/OP+3nnTw2Q1KJfPdkIMg== Date: Thu, 28 Dec 2023 06:59:42 +0000 Message-ID: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PUZPR04MB6316:EE_|KL1PR04MB6878:EE_ x-ms-office365-filtering-correlation-id: de2ee97d-35db-48ba-4994-08dc07729191 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: BN/T/umrvU9HKPC0H8Jq8YI89CTuqikEeYUf0D2mZHAWbzg1nt/SNtm6OtM4SHpA+TjLMdZTEBeTPPmcjqYEBfYpK41WWr8/AqUNBhWXp7pMvfLUeSFE1X1eZpqtySPGu+1UWe5CPp7EK1binfYHiAaBAvEp8gSmc15jF1MlZwwHgMD+5IkYqOryFo8nkhXuQGHXS8zLo2uH57Vl7P9U48tjzewQxuiA6jNPHFa3TQuOeotjuMvLRXQhByPZbcAHk/sUmOHVWGAO5cSWChX6GGdSWdatS+0QlumhvuLJRBwsHWxT4FvZndiX9pSXLIrASBGZ4hfXbF60Y7AdSLCbgNfgJhmrOtd6tlLtOQt0rAF7zdDv9rWE9VRr9MHHEriZVQ+aJYOKkitIranZMW4jrC+Rrln8TVlc+jT6pT7/9J5UeRRa6qkmyBCoE9mDLZ+Q4ZWK3LmOz95KCDe/tyHj5HfMM1L2DHUIqdY9O+Q2T5X7XMxR4u6Qy94E8vmBfrFfLuuJL8lpBjeoAudbgVV3H8KaCd7IHz62Yio+1tIPiXqX/bNvVSj79x8zhfKJA8qGVWHh8BvnHoLtLsLjReIJju7wQWEALcTbgW+a3h3KdAm6qv60RyhmpmuG+HafEk0q x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PUZPR04MB6316.apcprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(136003)(376002)(346002)(396003)(366004)(230922051799003)(1800799012)(451199024)(186009)(64100799003)(33656002)(9686003)(6506007)(71200400001)(83380400001)(7696005)(478600001)(107886003)(26005)(38100700002)(122000001)(82960400001)(41300700001)(316002)(54906003)(110136005)(66556008)(66946007)(66446008)(66476007)(64756008)(4326008)(8676002)(8936002)(52536014)(5660300002)(76116006)(2906002)(38070700009)(55016003)(86362001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?x8ktQJeiT0SbHBS2jdbHmbL5y5aY?= =?utf-8?q?1dISiOpplHchhi+UaNFvIjtSjPMvTIb77VMfW8jrkDOLC234eZDwTXTiLV5UnHze9?= =?utf-8?q?tD//UoLegKI6+Mo0pnGEwmriMhGgtrU5pVWWAbOUYzeNms5jT9eYrQbW8EBh7OrwO?= =?utf-8?q?Vte3PU01BO3bg9F/tdtN/J7nn4Xxffw6m6maIBaN0wj+aCZDVwXXXhMp5qIpZBqzL?= =?utf-8?q?KQvk+qs5C/76czJiINJ7BWJRpxqz5GR2ixMM8Zkao7OS8YCCEEkhQk5PLLpweQnaO?= =?utf-8?q?UnaFh4QaY1iETpfPYxwBvB+3O6oUbe1cl2G59b+TQIZPftK1muDn0e3ItgtDzNACx?= =?utf-8?q?ozG9X1MnWfln1oH7LPHEzEQJnAi06s+vxR2I3IMGXG81fte5hUTXD+uV1J1WVsL1j?= =?utf-8?q?bAAbjO72c1lV/XeuQMo9OJC2pxCFEXWZF/tKvIGgGdtmA3lFR03dsNtRFqTI5o7rN?= =?utf-8?q?sGx6KdemDGD/KYYA9v6V1T1PCT5TBHO/yitrDGIKCcj9Ckxa6GIKsoExoXJfnZnLF?= =?utf-8?q?TGp439uO6Ze55Ey+rwtw6PvcLSXnNVRuFZSuB7/hWStFh7s7sP2ymmJzurzGSGTGm?= =?utf-8?q?rcfhBb6LeUgJJWffCsBvbinYuvX89xKubvRDBpXX0NxvE5pm9/L6kaf3653mRyN3B?= =?utf-8?q?BFz+gbCz+FSMOg+DsOmMrafW50DhCePmkHgXAqg+42EggzswgIIt3ol/YgF2AMLsy?= =?utf-8?q?sgjR4RfhAR1GI5cQuUtmBeWBs7A8PR0ENglDuPX6GZrI1RZP7xRacGmswtDx9p/UG?= =?utf-8?q?lL2Dv7JSnQuR7OSQM//z1mBjaz7VN5A0kyEBSR/3RdJuChGniBqtbwY7S/4S8+gnU?= =?utf-8?q?QkuT469sr1UEaUNNUG+AfTCJEYyNJ5Gfv8bNDRKQ4TgOaoSpB1xkRqtApDuG3Nhhx?= =?utf-8?q?2qWsDInqvzXAIFt3bTCyDa+rLo2oopF5bOGt1Oi65eZBZ7ohvyRNtpa10w0uYtktE?= =?utf-8?q?5E9t46f/DgRCmx+koXXO14uIjaW9hEzRO1Rg++r2/1d5+QLXrvIXPJNvbRXdkh57L?= =?utf-8?q?NjWVT56xlaDWYf32wIwBoTxS9kV8axoC5qfpOOFRM6AX2tnF6LVp9YM7+XkEYBhtW?= =?utf-8?q?CZMVj2QWAy/E2nL58Kxz6PFecUVmJwZc9m0aqQ4IlcOfZG3oJv9G9wxBPRgYTdZF7?= =?utf-8?q?1ZwGGtJtz7ZkNIpGF3J4S+D0hZtYnoJ9T0jM5aW4W1rCnlOcqNH4/9fp3cWOwkp+A?= =?utf-8?q?lFW7v7XHqVDygusr4YyD5ugsLJFQuI3ZD/YFHkCpi/ZGhUaD/Ow3MkxJTQuBjgtjC?= =?utf-8?q?AmZMcKTAYSzJJSOULhe2GNw1P3pTWVwlvLcOyRAlnytcjwYgkNzuMhQzRCWDWmnf8?= =?utf-8?q?LIyo9RZwznalGPc/gRTHRFb8Cpf7wzvyV96N9rio3221W72qOrVMBRaZfJLohLxDQ?= =?utf-8?q?bCZOQX6O+6eOIQDScS8leK4oUCD2OPBAzSmLNdCHd/IKP2RNsmpzZMEpnfiI2bg2J?= =?utf-8?q?33LwoFk6tilnvRGPbDxM2JXSV/36mcUGMz34SybrBABamZ/T32m8hVB8oSRu2UchE?= =?utf-8?q?NXW68MPWQl0o?= Precedence: bulk X-Mailing-List: linux-fsdevel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: EjdRxblOSvkj3S4DR2qutP+5QMUw7twCHapzGMOowY78DoeMl2n3oXOeb+iIc7PMeT4LfO7ru0o9PqzTySllBXfTPLrT/5af/2BN1C0L3eLHGkMYPYoACtdZN8z19IA4EIyDqfvM+OPdWFJRRX6rvc2/mWjE/RytaDVc+T7n/hOS6XLCUgsYuy2Wu1jtarNuhu2jGyhktvj/+VM1PBR+CBzRTRzdeQeuB7h+pUfTJOizJAax1us5aNVfOIcBMEmpq++yzld24QGaV3+MjhSGBCxLbi6C3FEjI6jD0MX53x4akBNM86F2V3uAk0E7LcsudWH0jdRCXXNvl4pblMcIPTCMEuXjxhR+MNE6LBtOBihTyjnzbJLV9jecHnbaQzHIIVZM5DMwnUhgSX9GWaOWTATq4MtDKfHyvjeWEltkI46K3q5Q+7kvORhOqpgLGqIKyJzdVuyTgPhfouy2z9pCgDF8ScOKUjV709BOIBouGmSo5M5GrCFaeRpi0fGwwUpalF3HVLzSgf3Qjbl21UwZe+jhs7+9R5aCsoT2FvnTQjnYoBochtCfdWfiiKggoCkZZFqzg5joFhjz9dBzY3vpPHJc3g4vyIKJT7FJgidT7r/qEcqRDILqmhmOUzyr+Zqk X-OriginatorOrg: sony.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PUZPR04MB6316.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: de2ee97d-35db-48ba-4994-08dc07729191 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Dec 2023 06:59:42.9538 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 66c65d8a-9158-4521-a2d8-664963db48e4 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 5ChK33ja7f0IRGn8f3pOmrDJ29LIaImf9rtHcGvrBNukyul9mWGXgjd+42rb833DbusFwpUcALq80wM8I3Cy1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: KL1PR04MB6878 X-Proofpoint-GUID: OxJbzNjlNZ0TC-zfmtCCUJTrx2A-HIqf X-Proofpoint-ORIG-GUID: OxJbzNjlNZ0TC-zfmtCCUJTrx2A-HIqf X-Sony-Outbound-GUID: OxJbzNjlNZ0TC-zfmtCCUJTrx2A-HIqf X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-12-28_02,2023-12-27_01,2023-05-22_02 exfat_init_ext_entry() is an init function, it's a bit strange to free cluster in it. And the argument 'inode' will be removed from exfat_init_ext_entry(). So this commit changes to free the cluster in exfat_remove_entries(). Code refinement, no functional changes. Signed-off-by: Yuezhang Mo Reviewed-by: Andy Wu Reviewed-by: Aoyama Wataru --- fs/exfat/dir.c | 3 --- fs/exfat/namei.c | 5 +++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/fs/exfat/dir.c b/fs/exfat/dir.c index 33ba96a05543..d3767679745a 100644 --- a/fs/exfat/dir.c +++ b/fs/exfat/dir.c @@ -564,9 +564,6 @@ int exfat_init_ext_entry(struct inode *inode, struct exfat_chain *p_dir, if (!ep) return -EIO; - if (exfat_get_entry_type(ep) & TYPE_BENIGN_SEC) - exfat_free_benign_secondary_clusters(inode, ep); - exfat_init_name_entry(ep, uniname); exfat_update_bh(bh, sync); brelse(bh); diff --git a/fs/exfat/namei.c b/fs/exfat/namei.c index f56e223b9b8f..be6760297e8f 100644 --- a/fs/exfat/namei.c +++ b/fs/exfat/namei.c @@ -1082,12 +1082,13 @@ static int exfat_rename_file(struct inode *inode, struct exfat_chain *p_dir, epold->dentry.file.attr |= cpu_to_le16(EXFAT_ATTR_ARCHIVE); ei->attr |= EXFAT_ATTR_ARCHIVE; } + + exfat_remove_entries(inode, &old_es, ES_IDX_FIRST_FILENAME + 1); + ret = exfat_init_ext_entry(inode, p_dir, oldentry, num_new_entries, p_uniname); if (ret) goto put_old_es; - - exfat_remove_entries(inode, &old_es, num_new_entries); } return exfat_put_dentry_set(&old_es, sync);