From patchwork Fri Nov 12 12:17:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhihao Cheng X-Patchwork-Id: 1554325 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.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=BQ8O9KFn; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4HrHPc49Sjz9sRN for ; Fri, 12 Nov 2021 23:06:44 +1100 (AEDT) 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=aAIxV4sSPDAldjh1uuYCeGY2F/qB/YC9WLNLRJQAnaE=; b=BQ8O9KFnsJvQXU Yo9yiDYosOd9pjR92Toh31yyG3usbQ8hIX6QP2jpeFM4U8yC30+jEM8wVIUdM70Bh388PiRyluG6E lu/qoIjjmNeeCaQvKMhuYmqd9iCiT/tkX3rI8FZ3vgIAmwH/Off+6X9AP/qfus5aOv6ieBsfosZv4 nSGYjYBlZGBJPtyhj2iBYbv3jwjhdxleKrFNoNrVS8qWuZhnZEObvyVGXRuwxU9CfLv1cTpLE0dsS GjyfbpMlhXakK2G1RGfoK2E429w216RZXuPL3axV11BYqpqc9enj2cmTJptpWPNJzOhu6u2uj8VUg mAm5jf6pfLAuQjjdcrqg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mlVJu-00ADPd-4r; Fri, 12 Nov 2021 12:06:14 +0000 Received: from szxga02-in.huawei.com ([45.249.212.188]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mlVJP-00ADDt-Ok for linux-mtd@lists.infradead.org; Fri, 12 Nov 2021 12:05:48 +0000 Received: from dggemv703-chm.china.huawei.com (unknown [172.30.72.54]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4HrHGc1W2Dzbd0g; Fri, 12 Nov 2021 20:00:40 +0800 (CST) Received: from kwepemm600013.china.huawei.com (7.193.23.68) by dggemv703-chm.china.huawei.com (10.3.19.46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.15; Fri, 12 Nov 2021 20:05:31 +0800 Received: from huawei.com (10.175.127.227) by kwepemm600013.china.huawei.com (7.193.23.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.15; Fri, 12 Nov 2021 20:05:30 +0800 From: Zhihao Cheng To: , , , , , CC: , , Subject: [PATCH v3 00/12] Some bugfixs for ubi/ubifs Date: Fri, 12 Nov 2021 20:17:46 +0800 Message-ID: <20211112121758.2208727-1-chengzhihao1@huawei.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 X-Originating-IP: [10.175.127.227] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemm600013.china.huawei.com (7.193.23.68) X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211112_040544_031539_7DF05579 X-CRM114-Status: UNSURE ( 6.25 ) 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: v1->v2: 1. Add new fix for ubifs, "ubifs: Fix to add refcount once page is set private" 2. Update "ubifs: Rename whiteout atomically": 1) Move inode mode in create_whiteout() 2) Don't check O_SYNC for [...] Content analysis details: (-2.3 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [45.249.212.188 listed in wl.mailspike.net] -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [45.249.212.188 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 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 v1->v2: 1. Add new fix for ubifs, "ubifs: Fix to add refcount once page is set private" 2. Update "ubifs: Rename whiteout atomically": 1) Move inode mode in create_whiteout() 2) Don't check O_SYNC for whiteout, because it inherits from the old_dir 3) Remove useless 'synced_i_size ' assignment for whiteout, because it's always be zero. 4) Remove unused variable 'ui' in create_whiteout() 3. Update "ubifs: setflags: Make dirtied_ino_d 8 bytes aligned": 1) Align dirtied_ino_d with 8 bytes. v2->v3: 1. Update "ubifs: Rename whiteout atomically": 1) Fix misspelling 'have already check the old dir inode' -> 'have already checked the old dir inode' 2) Fix misspelling "Whiteout don't have non-zero size" -> "Whiteout have non-zero size" 2. Update "ubifs: Fix to add refcount once page is set private" 1) Fix commit message to explain the root cause. 3. Update "ubi: fastmap: Add all fastmap pebs into 'ai->fastmap' when fm->used_blocks>=2" 1) Add fastmap used pebs into 'ai' in for-loop, rather than in two-steps(Add pebs [pnum=UBI_FM_MAX_START] into 'ai'). Zhihao Cheng (12): ubifs: rename_whiteout: Fix double free for whiteout_ui->data ubifs: Fix deadlock in concurrent rename whiteout and inode writeback ubifs: Fix wrong number of inodes locked by ui_mutex in ubifs_inode comment ubifs: Add missing iput if do_tmpfile() failed in rename whiteout ubifs: Rename whiteout atomically ubifs: Fix 'ui->dirty' race between do_tmpfile() and writeback work ubifs: Rectify space amount budget for mkdir/tmpfile operations ubifs: setflags: Make dirtied_ino_d 8 bytes aligned ubifs: Fix read out-of-bounds in ubifs_wbuf_write_nolock() ubifs: Fix to add refcount once page is set private ubi: fastmap: Return error code if memory allocation fails in add_aeb() ubi: fastmap: Add all fastmap pebs into 'ai->fastmap' when fm->used_blocks>=2 drivers/mtd/ubi/fastmap.c | 63 ++++------ fs/ubifs/dir.c | 235 +++++++++++++++++++++++--------------- fs/ubifs/file.c | 14 +-- fs/ubifs/io.c | 34 +++++- fs/ubifs/ioctl.c | 2 +- fs/ubifs/journal.c | 52 +++++++-- fs/ubifs/ubifs.h | 2 +- 7 files changed, 249 insertions(+), 153 deletions(-)