From patchwork Wed Apr 10 07:37:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhihao Cheng X-Patchwork-Id: 1921830 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=FnZhczLD; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VDvzd5QZjz1yYd for ; Wed, 10 Apr 2024 17:46:53 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:CC :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=we1caeX8Gtd1ErlYvFHurEw2MC1fXUaqaVeaq2PZLCw=; b=FnZhczLDaBRu61 TpJSpxM+kbqS0FID0z6yBMG6cBetjZClWoWb2tabxTLzfArI2OlvpMC1kIGuy3/bfi8TXg8X1D5+S WxJUM6N9y4MrUGy79AKXTGgk5gcULdZcd1xPjb4v0c6wfXQmnheQCO3cxDtdZ9gju/HcvClR3nznU 5GGOwaSW6v/DCwyzn7NWNEq9ecaplpfj4gcnn0xMn8xlz+M/N9CWegh0EpZOItQe7oAmfzX2cMkIM US5RTHEYpe32cWZk83TMzRcQIvfavbXk3Fb9TPfVKB+zWXyMZwD7gTGPhbjYns+062vuPFZe5KEF1 +P5lOihJIbR7jTbOinrw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1ruSfB-00000005gG3-1dfl; Wed, 10 Apr 2024 07:46:33 +0000 Received: from szxga06-in.huawei.com ([45.249.212.32]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1ruSf6-00000005gAH-0gj0 for linux-mtd@lists.infradead.org; Wed, 10 Apr 2024 07:46:30 +0000 Received: from mail.maildlp.com (unknown [172.19.88.163]) by szxga06-in.huawei.com (SkyGuard) with ESMTP id 4VDvxv3t04z21kf6; Wed, 10 Apr 2024 15:45:23 +0800 (CST) Received: from kwepemm600013.china.huawei.com (unknown [7.193.23.68]) by mail.maildlp.com (Postfix) with ESMTPS id E21D718001A; Wed, 10 Apr 2024 15:46:18 +0800 (CST) Received: from huawei.com (10.175.104.67) by kwepemm600013.china.huawei.com (7.193.23.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Wed, 10 Apr 2024 15:46:18 +0800 From: Zhihao Cheng To: CC: , , Subject: [PATCH 0/9] ubifs: Fix a serious of inconsistent problems when powercut happens Date: Wed, 10 Apr 2024 15:37:42 +0800 Message-ID: <20240410073751.2522830-1-chengzhihao1@huawei.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-Originating-IP: [10.175.104.67] X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To kwepemm600013.china.huawei.com (7.193.23.68) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240410_004628_401792_33EC4CA0 X-CRM114-Status: UNSURE ( 5.81 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -2.3 (--) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: UBIFS is tolerant of powercut, this patchset fix some inconsistent problems when powercut happens. Xfstests,mtd-utils and powercut tests[1] are passed(Enable chk* debugging) after this patchset applie [...] Content analysis details: (-2.3 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [45.249.212.32 listed in list.dnswl.org] 0.0 RCVD_IN_MSPIKE_H4 RBL: Very Good reputation (+4) [45.249.212.32 listed in wl.mailspike.net] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org UBIFS is tolerant of powercut, this patchset fix some inconsistent problems when powercut happens. Xfstests,mtd-utils and powercut tests[1] are passed(Enable chk* debugging) after this patchset applied. [1] https://bugzilla.kernel.org/show_bug.cgi?id=218309 performance regression: 4GB nandsim 256KB PEB 4KB page 1. fio direct=0 bs=4k sync=0 iodepth=128 rw=write iodepth_batch_complete=1 iodepth_batch=1 numjobs=1 directory=/root/temp size=1G runtime=20s time_based=1 before after 1 thread seq write 412MiB/s 409MiB/s 1 thread random write 402MiB/s 397MiB/s 4 thread seq write 163MiB/s 164MiB/s 4 thread random write 162MiB/s 160MiB/s 2. fsmark fs_mark -d /root/temp -s 10240 -n 1000 before after 7131 Files/sec 7090 Files/sec Zhihao Cheng (9): ubifs: Fix unattached xattr inode if powercut happens after deleting ubifs: Don't add xattr inode into orphan area Revert "ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path" ubifs: Remove insert_dead_orphan from replaying orphan process ubifs: Fix adding orphan entry twice for the same inode ubifs: Move ui->data initialization after initializing security ubifs: Fix space leak when powercut happens in linking tmpfile ubifs: Fix unattached inode when powercut happens in creating ubifs: dbg_orphan_check: Fix missed key type checking fs/ubifs/dir.c | 91 +++++++++++++++----------- fs/ubifs/journal.c | 14 +++- fs/ubifs/orphan.c | 155 ++++++++------------------------------------- fs/ubifs/ubifs.h | 7 +- fs/ubifs/xattr.c | 2 +- 5 files changed, 92 insertions(+), 177 deletions(-)