From patchwork Wed Mar 20 08:46:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eugen Hristev X-Patchwork-Id: 13597525 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 lists.sourceforge.net (lists.sourceforge.net [216.105.38.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 07A10C54E58 for ; Wed, 20 Mar 2024 08:46:47 +0000 (UTC) Received: from [127.0.0.1] (helo=sfs-ml-1.v29.lw.sourceforge.com) by sfs-ml-1.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1rmrav-0005OP-KN; Wed, 20 Mar 2024 08:46:45 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-1.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1rmras-0005Ma-OI for linux-f2fs-devel@lists.sourceforge.net; Wed, 20 Mar 2024 08:46:43 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:MIME-Version:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=maKN7epZ1wujDWznXYBHaiqEOZr3lMBDjv4WTJ4PO7g=; b=edcFk85WEL3fkq+839pMa39Ncb EiNnMThCNywEwxC2LbJ3WSu9JZHE8E4fWf1ZCxttLCZnK+rTgrqzShqGVeSd56Odx9jq2q/t2hFt8 t5hIAXddkx121mSiyZU7SCo7xM6M3Ubtk2iLuTBG4y6Vphi1/NhpwTzhWSI6mefF5b+E=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From :Sender:Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post: List-Owner:List-Archive; bh=maKN7epZ1wujDWznXYBHaiqEOZr3lMBDjv4WTJ4PO7g=; b=j 0MLbapO+nR/CsGCykzwRgOL68OKi0TXX5xw9ctBGMxG2WuMb7J5PVXHe+ZCYjBc79WQXyx2EnrydB IQCPzMUMtRe+hs1WcESk9XB0LgN/IZpmyqGrq9gnbvgJ/y+CHSe6UrJfDu5B6iknXADOlBakoXiFq oqjipEC+Oj+hilrE=; Received: from madrid.collaboradmins.com ([46.235.227.194]) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1rmraj-0007cX-Gg for linux-f2fs-devel@lists.sourceforge.net; Wed, 20 Mar 2024 08:46:42 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1710924389; bh=zuy5H3kjE6h+YGeQcgMBnZvub2JXu5ROBo/NuKBSpTY=; h=From:To:Cc:Subject:Date:From; b=vgH8rb+FjmfT8b92uELhZxxMMc16iAIh1vH7pak+nAveO/uGoh2wwSvKMY4JUcyax zVaA93BTka8+2Ko0QZwbUfNeJrYvUUFVgG7A4RsPSFHQU5sihe3bSO/sNwUbUMSxaz xioOlpttkIABc4wtH9iBUJFe2Qe/trhMLxDcolDFrkPffH4bX9pyc/MTN1bDRa71QC ZZhk34apxk+wa2yZJhHifXETYs5+fSV9xNLZLxi682jCcnJOsCJ/08GHCnYpSH54iC vZfx2SfTsmkfq+463uIGCedWjrgRLdAdPO4ERU3FJb2u9uOf4HEZwkbBSm+iwbeup5 zzgbzpRot2/Yw== Received: from eugen-station.. (cola.collaboradmins.com [195.201.22.229]) (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) (Authenticated sender: ehristev) by madrid.collaboradmins.com (Postfix) with ESMTPSA id 3337C37820DE; Wed, 20 Mar 2024 08:46:27 +0000 (UTC) To: tytso@mit.edu, adilger.kernel@dilger.ca, linux-ext4@vger.kernel.org, jaegeuk@kernel.org, chao@kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-fsdevel@vger.kernel.org Date: Wed, 20 Mar 2024 10:46:13 +0200 Message-Id: <20240320084622.46643-1-eugen.hristev@collabora.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Headers-End: 1rmraj-0007cX-Gg Subject: [f2fs-dev] [PATCH v14 0/9] Cache insensitive cleanup for ext4/f2fs X-BeenThere: linux-f2fs-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Eugen Hristev via Linux-f2fs-devel From: Eugen Hristev Reply-To: Eugen Hristev Cc: krisman@suse.de, brauner@kernel.org, jack@suse.cz, linux-kernel@vger.kernel.org, eugen.hristev@collabora.com, viro@zeniv.linux.org.uk, kernel@collabora.com Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net Hello, I am trying to respin the series here : https://www.spinics.net/lists/linux-ext4/msg85081.html I resent some of the v9 patches and got some reviews from Gabriel, I did changes as requested and here is v14. Changes in v14: - fix wrong kfree unchecked call - changed the return code in 3/8 Changes in v13: - removed stray wrong line in 2/8 - removed old R-b as it's too long since they were given - removed check for null buff in 2/8 - added new patch `f2fs: Log error when lookup of encoded dentry fails` as suggested - rebased on unicode.git for-next branch Changes in v12: - revert to v10 comparison with propagating the error code from utf comparison Changes in v11: - revert to the original v9 implementation for the comparison helper. Changes in v10: - reworked a bit the comparison helper to improve performance by first performing the exact lookup. * Original commit letter The case-insensitive implementations in f2fs and ext4 have quite a bit of duplicated code. This series simplifies the ext4 version, with the goal of extracting ext4_ci_compare into a helper library that can be used by both filesystems. It also reduces the clutter from many codeguards for CONFIG_UNICODE; as requested by Linus, they are part of the codeflow now. While there, I noticed we can leverage the utf8 functions to detect encoded names that are corrupted in the filesystem. Therefore, it also adds an ext4 error on that scenario, to mark the filesystem as corrupted. This series survived passes of xfstests -g quick. Eugen Hristev (1): f2fs: Log error when lookup of encoded dentry fails Gabriel Krisman Bertazi (8): ext4: Simplify the handling of cached insensitive names f2fs: Simplify the handling of cached insensitive names libfs: Introduce case-insensitive string comparison helper ext4: Reuse generic_ci_match for ci comparisons f2fs: Reuse generic_ci_match for ci comparisons ext4: Log error when lookup of encoded dentry fails ext4: Move CONFIG_UNICODE defguards into the code flow f2fs: Move CONFIG_UNICODE defguards into the code flow fs/ext4/crypto.c | 19 ++----- fs/ext4/ext4.h | 35 +++++++----- fs/ext4/namei.c | 129 ++++++++++++++++----------------------------- fs/ext4/super.c | 4 +- fs/f2fs/dir.c | 114 ++++++++++++++------------------------- fs/f2fs/f2fs.h | 16 +++++- fs/f2fs/namei.c | 10 ++-- fs/f2fs/recovery.c | 5 +- fs/f2fs/super.c | 8 +-- fs/libfs.c | 77 +++++++++++++++++++++++++++ include/linux/fs.h | 4 ++ 11 files changed, 217 insertions(+), 204 deletions(-)