From patchwork Wed Jul 6 02:34:55 2022 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: 12907251 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 53AAEC43334 for ; Wed, 6 Jul 2022 02:35:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230484AbiGFCf2 (ORCPT ); Tue, 5 Jul 2022 22:35:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36248 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230393AbiGFCfQ (ORCPT ); Tue, 5 Jul 2022 22:35:16 -0400 Received: from mx08-001d1705.pphosted.com (mx08-001d1705.pphosted.com [185.183.30.70]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D353B19036; Tue, 5 Jul 2022 19:35:14 -0700 (PDT) Received: from pps.filterd (m0209322.ppops.net [127.0.0.1]) by mx08-001d1705.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2660vTjl006040; Wed, 6 Jul 2022 02:35:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sony.com; h=from : to : cc : subject : date : message-id : content-type : mime-version; s=S1; bh=4iY+732/IzvDi4TF2xB99Sv3OTEHAzblTdM17pFppQ4=; b=lAx3lP96KsqrL5XnJ0k1vGbveZwPamHTkspzWstMkxGjifgqqny30AcIzol2Mzp6+Rb5 eSmlWo5X+sUTUNYozEbR77HYcsf9vJY1IH9kjh5iK9Iz9dNqONyhCzsoFYUZQsitJCcB p8y/tTrfu+fVEuH/yoKeWZHacXoyBQJyHVY24bMD9f402IuKkhwGA5iP7bJUljJTG37J EE2t9rxa3Y6paeYtxwe1+WTaJLCqeH41QFWVX0hGGs9gbBPZfVTi2E5TVNQz2U3kfrwE YPLsGo4ijKaMrm7KdGCIH0M0QBWCW8ZVE+GMRtorEHoZEtlLw1hO5UjfRvU115Kfvyet jg== 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 3h4ub48b32-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 06 Jul 2022 02:35:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h3l3gmH0b+pmpbhM55CMda6PqTZCsALf6p4ZoUW+zmVzEC4ycMhCm33VZZ3audxCtWA55iuIP6w3+aNAV6RkG0DRXlw8fXfTC3l5bc0eo828DvFlV88qq0JjyHEceQqxDX1p26kEd1+rlaKaaBxGuYiHnbyXexKI4iv5WacFmMFmoVIjSb1vR1cbs1fpH1wWNfV+HPSvEGf2ZcYb8YL3PV09RbXs7spTbulJx00UDtb5teyTxF0krlWBip00MU/KkfpUMLFHLGc7tOwXxCP9x+swMx1KoVAORbnoe/Ly1/pSmWzGWy5ZQqPilMCoP9OLgeC/idD671NTjWSYA8Xh6Q== 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=4iY+732/IzvDi4TF2xB99Sv3OTEHAzblTdM17pFppQ4=; b=SaRLTTe3N+zHYqFKtyASK0iF4DQvM/p5NUJSffbxiG1Q4pOn0KKfq7PaMHgnaCABB5vqpJCVOKScoEAnSSsa6WH478CuNGHlsWHoDgEcs2J6XtzCh3gKJ9mx6WIvXQVNFWJKDEBA/TY8xWfFLYVw8u/wSaC2p8bjV2LsrFY4Utzvn4vi/WjTkXa343YBQJ8Y7JfZ4wdNbgWzoQkLbNzUvOsB9WJ7wH2pYgt+qyq3k7Q3KD8a71+8oMOEe7sHpY9QNfsAwehxV/+EFX1mFIY9SlaCWYCZLDwmTdaJslfO+iNZGkiOsyRUG4lxvj/5kNdpa4XH4jB/4Qt1oluAT0CFGw== 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 SG2PR04MB3899.apcprd04.prod.outlook.com (2603:1096:4:94::11) by PS1PR04MB2792.apcprd04.prod.outlook.com (2603:1096:803:44::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.19; Wed, 6 Jul 2022 02:34:55 +0000 Received: from SG2PR04MB3899.apcprd04.prod.outlook.com ([fe80::9076:c0a7:6016:599a]) by SG2PR04MB3899.apcprd04.prod.outlook.com ([fe80::9076:c0a7:6016:599a%6]) with mapi id 15.20.5395.017; Wed, 6 Jul 2022 02:34:55 +0000 From: "Yuezhang.Mo@sony.com" To: Namjae Jeon , "sj1557.seo@samsung.com" CC: "linux-fsdevel@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "Andy.Wu@sony.com" , "Wataru.Aoyama@sony.com" Subject: [PATCH v1 3/3] exfat: remove duplicate write inode for extending dir/file Thread-Topic: [PATCH v1 3/3] exfat: remove duplicate write inode for extending dir/file Thread-Index: AdiQ38Q7UTVVpY/QSjGfFgl0xxwZdA== Date: Wed, 6 Jul 2022 02:34:55 +0000 Message-ID: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 584b5cdd-4d16-4641-7b0f-08da5ef81cc7 x-ms-traffictypediagnostic: PS1PR04MB2792:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wWcaBDrGmtqNn1ypLOtfq0pJUbzK+6KLPVysdEYNLyZOoj6nme+7abBg+ro0DyWJzh1VHOpV7OV9oJ3eeB+0oh96ISDfCf0ZBY+Vlihd/p20HjzJJCqmEWAMGjrxls8H3iyClZ1oLAQPuA+PDymWA8dV0CfGmzl6d+/kJPGs9+5NIBNkFysrVtqnY89h1BMfWFd7uJpgC8glWCUdn5V3UXs8v9fGUN/7Bhymf4wFBCVupFIHNe+gIpWEyGv3t4XUQzqAsE+QlK0BoLJS5Ot5QFDTSrcnSbace62DHliOw0yxD9d4eBSPqhj/8LCSmXozej3pEWsdXbuxfyh0M0G+H+H3ZsKs1IKFeznKG56cDXzt3NqHUHg8FMjHvw9hltx3DceRmljcpoNOnYrWI1Stmge090iQr30oLuVoYMOBwmBlyq1nD8Wewm4of/+4vqrWGSaswM0SlkMemGcNBZJtGJf6BXINjUNxNxa3oigUibtFgtiwLmuzr+0s4sDLApEOc5CPGEQw33a++0gFRVUVzAoghPK7/CtgJj98EWvQSMJHrEpWGqO/ahXfzNlye70v1mQS/uUCj6PcGHcyNXCrqXg8ZjeSI7z/H9RBlEvfRr1wK90UWYmatv0AgAqtSa+uU0ovAJeFS7UBn4CiQXof8tdvrmekQ7DXQRBF9hWdKzj0ilUj4Lce96S3Ucq3Y0STVUMG+7/8TvfDdXse/Tv7+o+c4Q4GJQSp5sO1WgDIjNTzk/9j5s+XyEClqJxo0oRlIjLrK9QP1nwis6gEF/hRGzF1Kas557VpR8ny3rHEkfMkOZUT6T3iTkTpzzaUW0P2 x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SG2PR04MB3899.apcprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(376002)(396003)(136003)(366004)(478600001)(316002)(82960400001)(64756008)(99936003)(41300700001)(110136005)(54906003)(71200400001)(38070700005)(66556008)(4326008)(2906002)(76116006)(66446008)(107886003)(186003)(66946007)(83380400001)(66476007)(55016003)(122000001)(8676002)(38100700002)(7696005)(6506007)(9686003)(26005)(52536014)(33656002)(86362001)(8936002)(5660300002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?pCZlac5DPsbAzEptchbaZVmkk6dP?= =?utf-8?q?Vcut6LyQ79lESnFiabPL3cL3RyvnQrnPeBcd+eEjiMdj691bq7kEscHGPUeO/fRCc?= =?utf-8?q?qaXXnrGSGS9x4AAlTQBmNazup4Jls379vQKGOTCFlY2JPv/AEYz9nPPhhH5erNRtS?= =?utf-8?q?diMtkcWHGuftMRmgpdMrRmfiSrNenAoYiO/xCoohTAAJGEXhDRiu5BSauDbPhZ44/?= =?utf-8?q?pKsViMK8dFcyMVAztNVtwnaGyFo97AaK2sFfqKQB76XQRQnE5gT5qObL2KjAb6g0B?= =?utf-8?q?H4jzQzlsMCTdQp2AAjLmOodLITkpOJICXZ1d8SzZ8rbYyrFoZqa25pJwRbfO29IP+?= =?utf-8?q?JWfUfWDzlPNvmvqXhfQhPNgAwVV/GQPn4UMPLvoD1WL7eykKCB2UNnueYV4fT/lEa?= =?utf-8?q?4M6UgVI6OGBvPdHO5JWpmU0SxTIPhibbO6hK3Cpf74lWdvGVDkLvnfoZwbE597oJh?= =?utf-8?q?JrWIN6VnBHDPCe3s8aJhgTNLHm0OFZmxewxT54bSoTT3xuElFs5OCyLG0/o3JmakF?= =?utf-8?q?NnkmF+/mfTnXOJWUh2pnmg4Cn4L4CnL0i6+lQpelZgfSFn9R4J09mQDR2KoKSl5gn?= =?utf-8?q?KtREd71N7dCv557fyaEZtwY0MJxLMBc81pMvJRzTOpWKNaTX3wilk/XI+dZ5afP7e?= =?utf-8?q?GwAP0gZT3bw7ILPLwKI1a9mqPJq7zFbq4RlHO6IKcf0kukTYhaQ5dfNfpCLJGP5hB?= =?utf-8?q?hm4kFRo6r8i+8RJT8xgRgoBjweGYDMiUQJEtVWOGDB9M0LoGsBsVEXwhSTmFy4Ejq?= =?utf-8?q?7LUv6OVi3KqqVBumDmYrkYCs0Ul8IGgb9NPi9KTz5vIAFise2mgXr8xhQpQ4Tmj12?= =?utf-8?q?jf87FzbDIlnSR9kUx5CAWe1zWaGrKldTt0Mi3wBiIsS6xMDAXDEwYsNVwvSZChwjH?= =?utf-8?q?ZeTCHusRcrtyuQc1Op61ketkB1PKS88wo6wvdoF0SEdc59nK3KHUviJUiHWZLqI4W?= =?utf-8?q?Q/sOc14WXOWKY5y0QDHUQ+sxO5Wxu7Mv2z/AT5+C2/ZpOWD3wCeYCovzdyD6r+Sas?= =?utf-8?q?nNse9L18Prxl8jTb2fH5+90I80LRKouqNt7R3I52gmrU1IDs4zWrhbzY2vQec+Moz?= =?utf-8?q?r7FrgD1s1xSza1xw1mm7JgAmG0jBiGMibNbCXbLjnrub/qQEM89T3dkcjXOzhRYsj?= =?utf-8?q?D+X5+Mtw9G5DwCKrngseSmRRv5dWVbWcy58LdTTFXmLO5xqRpeqUQX43K7z08V/4o?= =?utf-8?q?JEEoA9DZ1QywPB0DbjpvQGTZTn2taSd1F3PpEABtEHkyvhvQ7U7jkpr3TG/EHofEA?= =?utf-8?q?wBzfScJ28ujHQl2JM9WM3qXYbeVp0AjR+/OKMDfFEnK/jSW5o/Ibrx1L35Y7OW39f?= =?utf-8?q?IchLEHM+KUyASqCLSoKjv2ZWnIILd24ZkixqQ/q9Ui6JeN9UAH0+PxLSOkmE/RZiJ?= =?utf-8?q?O+YpgCDviVKgUMzdw+gDMUi/2FpCw5rrSw1pjh+KxiScWGEdeNx9PEe8J3W4z4oGD?= =?utf-8?q?zvRvgXKqPUj/muYqEvMeYyWRlk5fOmrvBD2nigDPxxOepHYbXw44WoM6ur249fYTm?= =?utf-8?q?s+ht4WcTereC?= MIME-Version: 1.0 X-OriginatorOrg: sony.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SG2PR04MB3899.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 584b5cdd-4d16-4641-7b0f-08da5ef81cc7 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jul 2022 02:34:55.3769 (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: 100kl9gxh19Ycne6A53/62SmJ3G1ycfjp/xwAmNgEtzsRWs4PO8g5AzUb5fkc4HBQGNwBO3tTvLwCzyxDi7EWA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PS1PR04MB2792 X-Proofpoint-GUID: r3h8Mq4R8FkUE_PuotP0xpbMiwQ8nfWx X-Proofpoint-ORIG-GUID: r3h8Mq4R8FkUE_PuotP0xpbMiwQ8nfWx X-Sony-Outbound-GUID: r3h8Mq4R8FkUE_PuotP0xpbMiwQ8nfWx X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-07-06_02,2022-06-28_01,2022-06-22_01 Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org Since the timestamps need to be updated, the directory entries will be updated by mark_inode_dirty() whether or not a new cluster is allocated for the file or directory, so there is no need to use __exfat_write_inode() to update the directory entries when allocating a new cluster for a file or directory. Signed-off-by: Yuezhang Mo Reviewed-by: Andy Wu Reviewed-by: Aoyama Wataru Reviewed-by: Daniel Palmer --- fs/exfat/inode.c | 9 +-------- fs/exfat/namei.c | 4 ---- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/fs/exfat/inode.c b/fs/exfat/inode.c index 3acfbec1a0d4..a795437b86d0 100644 --- a/fs/exfat/inode.c +++ b/fs/exfat/inode.c @@ -112,7 +112,7 @@ void exfat_sync_inode(struct inode *inode) static int exfat_map_cluster(struct inode *inode, unsigned int clu_offset, unsigned int *clu, int create) { - int ret, modified = false; + int ret; unsigned int last_clu; struct exfat_chain new_clu; struct super_block *sb = inode->i_sb; @@ -203,7 +203,6 @@ static int exfat_map_cluster(struct inode *inode, unsigned int clu_offset, if (new_clu.flags == ALLOC_FAT_CHAIN) ei->flags = ALLOC_FAT_CHAIN; ei->start_clu = new_clu.dir; - modified = true; } else { if (new_clu.flags != ei->flags) { /* no-fat-chain bit is disabled, @@ -213,7 +212,6 @@ static int exfat_map_cluster(struct inode *inode, unsigned int clu_offset, exfat_chain_cont_cluster(sb, ei->start_clu, num_clusters); ei->flags = ALLOC_FAT_CHAIN; - modified = true; } if (new_clu.flags == ALLOC_FAT_CHAIN) if (exfat_ent_set(sb, last_clu, new_clu.dir)) @@ -223,11 +221,6 @@ static int exfat_map_cluster(struct inode *inode, unsigned int clu_offset, num_clusters += num_to_be_allocated; *clu = new_clu.dir; - if (modified) { - if (__exfat_write_inode(inode, inode_needs_sync(inode))) - return -EIO; - } - inode->i_blocks += num_to_be_allocated << sbi->sect_per_clus_bits; diff --git a/fs/exfat/namei.c b/fs/exfat/namei.c index f6f8725803dc..6bf9abc45090 100644 --- a/fs/exfat/namei.c +++ b/fs/exfat/namei.c @@ -382,10 +382,6 @@ static int exfat_find_empty_entry(struct inode *inode, p_dir->size++; size = EXFAT_CLU_TO_B(p_dir->size, sbi); - /* update the directory entry */ - if (__exfat_write_inode(inode, IS_DIRSYNC(inode))) - return -EIO; - /* directory inode should be updated in here */ i_size_write(inode, size); ei->i_size_ondisk += sbi->cluster_size;