[{"id":3677921,"web_url":"http://patchwork.ozlabs.org/comment/3677921/","msgid":"<91ddedbd-9df3-8d9e-2928-3ba090a4ee2b@huawei.com>","list_archive_url":null,"date":"2026-04-16T03:52:08","subject":"Re: [PATCH v5 3/3] ubifs: avoid redundant calls to memset()","submitter":{"id":76854,"url":"http://patchwork.ozlabs.org/api/people/76854/","name":"Zhihao Cheng","email":"chengzhihao1@huawei.com"},"content":"在 2026/4/15 15:18, Dmitry Antipov 写道:\n> Rely on partial implicit initialization of 'struct ubifs_budget_req'\n> objects and so simplify 'ubifs_release_dirty_inode_budget()', 'do_rename()'\n> and 'do_truncation()' by dropping explicit calls to 'memset()'.\n> \n> Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>\n> ---\n> v5: initial version to join the series\n> ---\n>   fs/ubifs/budget.c |  9 ++++-----\n>   fs/ubifs/dir.c    |  4 +---\n>   fs/ubifs/file.c   | 10 +++++-----\n>   3 files changed, 10 insertions(+), 13 deletions(-)\n> \n> diff --git a/fs/ubifs/budget.c b/fs/ubifs/budget.c\n> index d76eb7b39f56..a73f1e969f7c 100644\n> --- a/fs/ubifs/budget.c\n> +++ b/fs/ubifs/budget.c\n> @@ -590,11 +590,10 @@ void ubifs_convert_page_budget(struct ubifs_info *c)\n>   void ubifs_release_dirty_inode_budget(struct ubifs_info *c,\n>   \t\t\t\t      struct ubifs_inode *ui)\n>   {\n> -\tstruct ubifs_budget_req req;\n> -\n> -\tmemset(&req, 0, sizeof(struct ubifs_budget_req));\n> -\t/* The \"no space\" flags will be cleared because dd_growth is > 0 */\n> -\treq.dd_growth = c->bi.inode_budget + ALIGN(ui->data_len, 8);\n> +\tstruct ubifs_budget_req req = {\n> +\t\t/* The \"no space\" flags will be cleared because dd_growth is > 0 */\n> +\t\t.dd_growth = c->bi.inode_budget + ALIGN(ui->data_len, 8)\n> +\t};\n>   \tubifs_release_budget(c, &req);\n>   }\n>   \n> diff --git a/fs/ubifs/dir.c b/fs/ubifs/dir.c\n> index 86d41e077e4d..c1602e8aff01 100644\n> --- a/fs/ubifs/dir.c\n> +++ b/fs/ubifs/dir.c\n> @@ -1335,7 +1335,7 @@ static int do_rename(struct inode *old_dir, struct dentry *old_dentry,\n>   \t\t\t\t\t.dirtied_ino = 3 };\n>   \tstruct ubifs_budget_req ino_req = { .dirtied_ino = 1,\n>   \t\t\t.dirtied_ino_d = ALIGN(old_inode_ui->data_len, 8) };\n> -\tstruct ubifs_budget_req wht_req;\n> +\tstruct ubifs_budget_req wht_req = { .new_ino = 1 };\n>   \tunsigned int saved_nlink;\n>   \tstruct fscrypt_name old_nm, new_nm;\n>   \n> @@ -1422,8 +1422,6 @@ static int do_rename(struct inode *old_dir, struct dentry *old_dentry,\n>   \t\twhiteout_ui->data_len = ubifs_encode_dev(dev, MKDEV(0, 0));\n>   \t\tubifs_assert(c, !whiteout_ui->dirty);\n>   \n> -\t\tmemset(&wht_req, 0, sizeof(struct ubifs_budget_req));\n> -\t\twht_req.new_ino = 1;\n>   \t\twht_req.new_ino_d = ALIGN(whiteout_ui->data_len, 8);\n>   \t\t/*\n>   \t\t * To avoid deadlock between space budget (holds ui_mutex and\n\nI prefer to keep the orginal logic for do_rename(). it makes 'whiteout' \nand 'wht_req' be initialized in the same code block, which is more readable.\n> diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c\n> index e73c28b12f97..35061a587e3c 100644\n> --- a/fs/ubifs/file.c\n> +++ b/fs/ubifs/file.c\n> @@ -1101,13 +1101,16 @@ static int do_truncation(struct ubifs_info *c, struct inode *inode,\n>   \t\t\t const struct iattr *attr)\n>   {\n>   \tint err;\n> -\tstruct ubifs_budget_req req;\n> +\tstruct ubifs_budget_req req = {\n> +\t\t.dirtied_ino = 1,\n> +\t\t/* A funny way to budget for truncation node */\n> +\t\t.dirtied_ino_d = UBIFS_TRUN_NODE_SZ\n> +\t};\n>   \tloff_t old_size = inode->i_size, new_size = attr->ia_size;\n>   \tint offset = new_size & (UBIFS_BLOCK_SIZE - 1), budgeted = 1;\n>   \tstruct ubifs_inode *ui = ubifs_inode(inode);\n>   \n>   \tdbg_gen(\"ino %llu, size %lld -> %lld\", inode->i_ino, old_size, new_size);\n> -\tmemset(&req, 0, sizeof(struct ubifs_budget_req));\n>   \n>   \t/*\n>   \t * If this is truncation to a smaller size, and we do not truncate on a\n> @@ -1117,9 +1120,6 @@ static int do_truncation(struct ubifs_info *c, struct inode *inode,\n>   \tif (new_size & (UBIFS_BLOCK_SIZE - 1))\n>   \t\treq.dirtied_page = 1;\n>   \n> -\treq.dirtied_ino = 1;\n> -\t/* A funny way to budget for truncation node */\n> -\treq.dirtied_ino_d = UBIFS_TRUN_NODE_SZ;\n>   \terr = ubifs_budget_space(c, &req);\n>   \tif (err) {\n>   \t\t/*\n>","headers":{"Return-Path":"\n <linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=lists.infradead.org header.i=@lists.infradead.org\n header.a=rsa-sha256 header.s=bombadil.20210309 header.b=Y5lOki/q;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n unprotected) header.d=huawei.com header.i=@huawei.com header.a=rsa-sha256\n header.s=dkim header.b=LUE+dIyF;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=none (no SPF record) smtp.mailfrom=lists.infradead.org\n (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org;\n envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n [IPv6:2607:7c80:54:3::133])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fx3xY64X5z1yDF\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 16 Apr 2026 13:52:33 +1000 (AEST)","from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wDDmE-00000001wXa-0P7x;\n\tThu, 16 Apr 2026 03:52:26 +0000","from canpmsgout02.his.huawei.com ([113.46.200.217])\n\tby bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wDDm9-00000001wWf-2yOy\n\tfor linux-mtd@lists.infradead.org;\n\tThu, 16 Apr 2026 03:52:24 +0000","from mail.maildlp.com (unknown [172.19.163.104])\n\tby canpmsgout02.his.huawei.com (SkyGuard) with ESMTPS id 4fx3nb40llzcZyN;\n\tThu, 16 Apr 2026 11:45:39 +0800 (CST)","from kwepemk500005.china.huawei.com (unknown [7.202.194.90])\n\tby mail.maildlp.com (Postfix) with ESMTPS id 0DDE34056D;\n\tThu, 16 Apr 2026 11:52:11 +0800 (CST)","from [10.174.178.46] (10.174.178.46) by\n kwepemk500005.china.huawei.com (7.202.194.90) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.1544.11; Thu, 16 Apr 2026 11:52:10 +0800"],"DKIM-Signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type:\n\tContent-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive:\n\tList-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From:\n\tReferences:CC:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner;\n\tbh=WbNEZpUT6h40LfDLKvKjJs27jTffRqReDUwFHm6T9tA=; b=Y5lOki/qBjxleT4FGc8Htx7eC4\n\tYpm3LwCfcbrt043lWCl8Dfp0nByOcDm9lOPQw0WgcrhXXkcYq+yD5Hff0TR3Qvu9d3+rpjD2uI15G\n\tyeanBaK5F4sIdoujdjV9NdGQXw0oyH9fw5ZJwAikzSrNktDeojWTzacHiENeoSZnuVrnG2pLjlKF8\n\tkCyccVJ7zBF8GjLPz4UtimWjjHVQVNEv7z/a5N5mH2gkk5qnDB9YcLdjW31ruadcD6s0RVzGN9ejx\n\tD/4FW0HhwP0m/nbxY3P14ycO+S1PBI26HkyO5FPspjjd1sK7kommxtZf0QhKbvxp7RWMHATBmM/f4\n\tEoSy9ZxQ==;","v=1; a=rsa-sha256; d=huawei.com; s=dkim;\n\tc=relaxed/relaxed; q=dns/txt;\n\th=From;\n\tbh=5JWd2T3o7DGFlnn8+qsFr2VdL/IvlRK34+BrJXueA1Q=;\n\tb=LUE+dIyF4FvsJ82PjDTuR2xgvqOC7DRgT1Pw0OZtn3S1MN7sJRy2lJOuGf26ENK8HO5rwdw+T\n\trUH5/Rtloo7S/v9X7G9ZvcNStFAQDn5wJsc3426cWShaPyEbatZiLhrYa1bhEGZvo4oPtKbiZ2N\n\tW9oILDRBIiAOmOTlQGqeqvw="],"dkim-signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type:\n\tContent-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive:\n\tList-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From:\n\tReferences:CC:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner;\n\tbh=WbNEZpUT6h40LfDLKvKjJs27jTffRqReDUwFHm6T9tA=; b=Y5lOki/qBjxleT4FGc8Htx7eC4\n\tYpm3LwCfcbrt043lWCl8Dfp0nByOcDm9lOPQw0WgcrhXXkcYq+yD5Hff0TR3Qvu9d3+rpjD2uI15G\n\tyeanBaK5F4sIdoujdjV9NdGQXw0oyH9fw5ZJwAikzSrNktDeojWTzacHiENeoSZnuVrnG2pLjlKF8\n\tkCyccVJ7zBF8GjLPz4UtimWjjHVQVNEv7z/a5N5mH2gkk5qnDB9YcLdjW31ruadcD6s0RVzGN9ejx\n\tD/4FW0HhwP0m/nbxY3P14ycO+S1PBI26HkyO5FPspjjd1sK7kommxtZf0QhKbvxp7RWMHATBmM/f4\n\tEoSy9ZxQ==;","v=1; a=rsa-sha256; d=huawei.com; s=dkim;\n\tc=relaxed/relaxed; q=dns/txt;\n\th=From;\n\tbh=5JWd2T3o7DGFlnn8+qsFr2VdL/IvlRK34+BrJXueA1Q=;\n\tb=LUE+dIyF4FvsJ82PjDTuR2xgvqOC7DRgT1Pw0OZtn3S1MN7sJRy2lJOuGf26ENK8HO5rwdw+T\n\trUH5/Rtloo7S/v9X7G9ZvcNStFAQDn5wJsc3426cWShaPyEbatZiLhrYa1bhEGZvo4oPtKbiZ2N\n\tW9oILDRBIiAOmOTlQGqeqvw="],"Subject":"Re: [PATCH v5 3/3] ubifs: avoid redundant calls to memset()","To":"Dmitry Antipov <dmantipov@yandex.ru>, Richard Weinberger <richard@nod.at>","CC":"<linux-mtd@lists.infradead.org>","References":"<20260415071812.1139054-1-dmantipov@yandex.ru>\n <20260415071812.1139054-3-dmantipov@yandex.ru>","From":"Zhihao Cheng <chengzhihao1@huawei.com>","Message-ID":"<91ddedbd-9df3-8d9e-2928-3ba090a4ee2b@huawei.com>","Date":"Thu, 16 Apr 2026 11:52:08 +0800","User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101\n Thunderbird/68.5.0","MIME-Version":"1.0","In-Reply-To":"<20260415071812.1139054-3-dmantipov@yandex.ru>","X-Originating-IP":"[10.174.178.46]","X-ClientProxiedBy":"kwepems200001.china.huawei.com (7.221.188.67) To\n kwepemk500005.china.huawei.com (7.202.194.90)","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20260415_205222_414108_67D94341 ","X-CRM114-Status":"GOOD (  19.74  )","X-Spam-Score":"-5.2 (-----)","X-Spam-Report":"=?unknown-8bit?q?Spam_detection_software=2C_running_on_the_sy?=\n\t=?unknown-8bit?q?stem_=22bombadil=2Einfradead=2Eorg=22=2C?=\n\t=?unknown-8bit?q?_has_NOT_identified_this_incoming_email_as_spam=2E__The_ori?=\n\t=?unknown-8bit?q?ginal?=\n\t=?unknown-8bit?q?_message_has_been_attached_to_this_so_you_can_view_it_or_la?=\n\t=?unknown-8bit?q?bel?=\n\t=?unknown-8bit?q?_similar_future_email=2E__If_you_have_any_questions=2C_see?=\n\t=?unknown-8bit?q?_the_administrator_of_that_system_for_details=2E?=\n\t=?unknown-8bit?q?_?=\n\t=?unknown-8bit?q?_Content_preview=3A__=E5=9C=A8_2026/4/15_15=3A18=2C_Dmitry_?=\n\t=?unknown-8bit?q?Antipov_=E5=86=99=E9=81=93=3A_=3E_Rely_on_partial?=\n\t=?unknown-8bit?q?_implicit_initialization_of_=27struct_ubifs=5Fbudget=5Freq?=\n\t=?unknown-8bit?q?=27_=3E_objects_and_so_simplify?=\n\t=?unknown-8bit?b?ICd1Ymlmc19yZWxlYXNlX2RpcnR5X2lub2RlX2J1ZGdldCgpJywgJ2Rv?=\n\t=?unknown-8bit?b?X3JlbmFtZSgpJyA+IGFuZCAnIFsuLi5dIA==?=\n\t=?unknown-8bit?q?_?=\n\t=?unknown-8bit?q?_Content_analysis_details=3A___=28-5=2E2_points=2C_5=2E0_re?=\n\t=?unknown-8bit?q?quired=29?=\n\t=?unknown-8bit?q?_?=\n\t=?unknown-8bit?q?_pts_rule_name______________description?=\n\t=?unknown-8bit?q?_----_----------------------_------------------------------?=\n\t=?unknown-8bit?q?--------------------?=\n\t=?unknown-8bit?q?_0=2E0_RCVD=5FIN=5FVALIDITY=5FSAFE=5FBLOCKED_RBL=3A_ADMINIS?=\n\t=?unknown-8bit?q?TRATOR_NOTICE=3A_The_query_to?=\n\t=?unknown-8bit?q?_Validity_was_blocked=2E__See?=\n\t=?unknown-8bit?q?_https=3A//knowledge=2Evalidity=2Ecom/hc/en-us/articles/209?=\n\t=?unknown-8bit?q?61730681243?=\n\t=?unknown-8bit?q?_for_more_information=2E?=\n\t=?unknown-8bit?q?_=5B113=2E46=2E200=2E217_listed_in_sa-accredit=2Ehabeas=2Ec?=\n\t=?unknown-8bit?q?om=5D?=\n\t=?unknown-8bit?q?_0=2E0_RCVD=5FIN=5FVALIDITY=5FCERTIFIED=5FBLOCKED_RBL=3A_AD?=\n\t=?unknown-8bit?q?MINISTRATOR_NOTICE=3A_The?=\n\t=?unknown-8bit?q?_query_to_Validity_was_blocked=2E__See?=\n\t=?unknown-8bit?q?_https=3A//knowledge=2Evalidity=2Ecom/hc/en-us/articles/209?=\n\t=?unknown-8bit?q?61730681243?=\n\t=?unknown-8bit?q?_for_more_information=2E?=\n\t=?unknown-8bit?q?_=5B113=2E46=2E200=2E217_listed_in_sa-trusted=2Ebondedsende?=\n\t=?unknown-8bit?q?r=2Eorg=5D?=\n\t=?unknown-8bit?q?_0=2E0_RCVD=5FIN=5FVALIDITY=5FRPBL=5FBLOCKED_RBL=3A_ADMINIS?=\n\t=?unknown-8bit?q?TRATOR_NOTICE=3A_The_query_to?=\n\t=?unknown-8bit?q?_Validity_was_blocked=2E__See?=\n\t=?unknown-8bit?q?_https=3A//knowledge=2Evalidity=2Ecom/hc/en-us/articles/209?=\n\t=?unknown-8bit?q?61730681243?=\n\t=?unknown-8bit?q?_for_more_information=2E?=\n\t=?unknown-8bit?q?_=5B113=2E46=2E200=2E217_listed_in_bl=2Escore=2Esenderscore?=\n\t=?unknown-8bit?q?=2Ecom=5D?=\n\t=?unknown-8bit?q?_-0=2E0_SPF=5FPASS_______________SPF=3A_sender_matches_SPF_?=\n\t=?unknown-8bit?q?record?=\n\t=?unknown-8bit?q?_0=2E0_SPF=5FHELO=5FNONE__________SPF=3A_HELO_does_not_publ?=\n\t=?unknown-8bit?q?ish_an_SPF_Record?=\n\t=?unknown-8bit?q?_-0=2E1_DKIM=5FVALID=5FEF__________Message_has_a_valid_DKIM?=\n\t=?unknown-8bit?q?_or_DK_signature_from?=\n\t=?unknown-8bit?q?_envelope-from_domain?=\n\t=?unknown-8bit?q?_0=2E1_DKIM=5FSIGNED____________Message_has_a_DKIM_or_DK_si?=\n\t=?unknown-8bit?q?gnature=2C_not_necessarily_valid?=\n\t=?unknown-8bit?q?_-0=2E1_DKIM=5FVALID=5FAU__________Message_has_a_valid_DKIM?=\n\t=?unknown-8bit?q?_or_DK_signature_from_author=27s?=\n\t=?unknown-8bit?q?_domain?=\n\t=?unknown-8bit?q?_-0=2E1_DKIM=5FVALID_____________Message_has_at_least_one_v?=\n\t=?unknown-8bit?q?alid_DKIM_or_DK_signature?=\n\t=?unknown-8bit?q?_-1=2E9_BAYES=5F00_______________BODY=3A_Bayes_spam_probabi?=\n\t=?unknown-8bit?q?lity_is_0_to_1=25?=\n\t=?unknown-8bit?q?_=5Bscore=3A_0=2E0000=5D?=\n\t=?unknown-8bit?q?_-3=2E1_NICE=5FREPLY=5FA___________Looks_like_a_legit_reply?=\n\t=?unknown-8bit?q?_=28A=29?=","X-BeenThere":"linux-mtd@lists.infradead.org","X-Mailman-Version":"2.1.34","Precedence":"list","List-Id":"Linux MTD discussion mailing list <linux-mtd.lists.infradead.org>","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-mtd>,\n <mailto:linux-mtd-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-mtd/>","List-Post":"<mailto:linux-mtd@lists.infradead.org>","List-Help":"<mailto:linux-mtd-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-mtd>,\n <mailto:linux-mtd-request@lists.infradead.org?subject=subscribe>","Content-Transfer-Encoding":"base64","Content-Type":"text/plain; charset=\"gbk\"; Format=\"flowed\"","Sender":"\"linux-mtd\" <linux-mtd-bounces@lists.infradead.org>","Errors-To":"linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"}}]