From patchwork Tue Feb 20 08:52:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eugen Hristev X-Patchwork-Id: 20647 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp280724dyc; Tue, 20 Feb 2024 01:18:55 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUHpzb8WDT/Z5J60+oIot7afAPslum0IWgIAWAu5uAJodX2Y/cnoqExHkIaBlPKv4mQqyIpVfA+2KRDQJ9qBRwU1HgvNA== X-Google-Smtp-Source: AGHT+IEsp3OyeM0XRkLvRfWqxE0jsjhluWpeQcfVQbvphPY++2S23ge6VFeua2gFD9Z2N7HGIZpa X-Received: by 2002:a05:6358:33a9:b0:176:51d2:802 with SMTP id i41-20020a05635833a900b0017651d20802mr18786664rwd.1.1708420735736; Tue, 20 Feb 2024 01:18:55 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708420735; cv=pass; d=google.com; s=arc-20160816; b=Utt+hCSa+UZ64Ip8NGM8PnBeWIzOTVQ3r3wuOKUSTRoztNIriLGQyzw9ueHQkD8Jqq fQpfS9c62cfPuo23VYzqVA99PZvy+7FZuke3VIbOIjLfaRp7eZdTwT/P03ocAJ7DA5bj +Ao/X30fVQv3hNpDQINMK55ajTDLiL67xoYtAzSO9/uRFkDa1ma6XEGt+F6Cw2RJDN/X c7hZpOkuJgIl2ADZreqQNtZ7D9Pfi6zZLsb73Ouvy/ZVFrCTmtfD4gI1jP6gy+dMaDjZ HVZQC8tlw0Gyw45mSAQmZWU/jgtNRK7VKEItUu4G3iamzMcM/C0cVDI+UDHeB/2H+I8J zUAQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=X1FZmB8EoUAXxxPDwjEpMcypfWmm3P3lF4WVBS6LfI0=; fh=leNjPu/3B1/amj8pWgnZPg+v2NORBP0eXUn2DeKKAIs=; b=OtPppSDlLmke+p2CS7Tp7bLgBWxU6ficQko4fU7xI7Ukgn9sOMI26smssattsYiUsI VjDzyFVYZOEtoNlEX4hk2I/uqgi1oqm0yNaZjwhwJYsoItMT8Xeg0WV7kEfpwDiokOsK DtbXv0eOu1kQQ5M8dRr1wVi5XuCYivtG5HeolJwv34Hn5iF0FUkQkvD2q4k0Awmn65Cq lkPRwOeObbO5/tSnnpIQqJSoQxzwietBaYisZCSLVV9HibfmzSn8y3u6GnsHcxzJb5Ys ePh1Kug0adN7ZEWxtO6T53M2oveOSk1ctUZMA+uaRqDqRrPWLx1IKvm23aZlCo4Sqnqz 5TzA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=agU7DtJt; arc=pass (i=1 spf=pass spfdomain=collabora.com dkim=pass dkdomain=collabora.com dmarc=pass fromdomain=collabora.com); spf=pass (google.com: domain of linux-kernel+bounces-72611-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-72611-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id l123-20020a632581000000b005dc375e5da4si5777599pgl.486.2024.02.20.01.18.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Feb 2024 01:18:55 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-72611-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=agU7DtJt; arc=pass (i=1 spf=pass spfdomain=collabora.com dkim=pass dkdomain=collabora.com dmarc=pass fromdomain=collabora.com); spf=pass (google.com: domain of linux-kernel+bounces-72611-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-72611-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 2F4D42867DE for ; Tue, 20 Feb 2024 08:55:39 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 955125FB99; Tue, 20 Feb 2024 08:52:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="agU7DtJt" Received: from madrid.collaboradmins.com (madrid.collaboradmins.com [46.235.227.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4BB8B5F47B; Tue, 20 Feb 2024 08:52:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=46.235.227.194 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708419171; cv=none; b=t3RUdGTz1ewVYxPvtkrXQUCsA42dC/yt2FjrwTSWAqHFPASt7SCyvLCcnH60BGrjrNr67CIYRFM/UOXQn1Ky2MBHANM6ula4oe6Mglro++dq/sJBgem02lyHpWMFdO5cFlpE9MVOovcfL85Ysqv6PGq+4hYNjFbhTggkAcGBWZ0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708419171; c=relaxed/simple; bh=GJYdAbM7ewpjFdjHz6ASYR5VJQe0AeyNeMR8SotvnjM=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=k+30sM2GIdFoW4HgisvDinpj2JecY3mPZ6pifInhMoiqwK3ZrEoJJKERa4BxtGa2OEQMivqHmZuGt4ZJVmEIL9jTp+USU3foKQs2T0hP8vYhfgXOJo2irYde8LaPPalo9LftPF/B0VNNb808uT9VCooxgj/c0YtmIBN2b/s46qU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=agU7DtJt; arc=none smtp.client-ip=46.235.227.194 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1708419167; bh=GJYdAbM7ewpjFdjHz6ASYR5VJQe0AeyNeMR8SotvnjM=; h=From:To:Cc:Subject:Date:From; b=agU7DtJtNyjiDYeOcxIKd0T+lvhUMiG8t991Z/M4d+omokWz5meUew8yNVUG8wbgA 6wODkWyARKHOBCjerxxUEZl4TM4uuMV5v2UURHfnrN6T0uR5iI7hvPieoKSufGXFJK Q5zhMZL6Dbvj07p1qvSfDpXb1gQ8nbIWP9ZBUsribkldyNxFH3436/V8aAy9DD4FIT plbjxC49tNUljgps8Cq9GOUPjS/X5Gtl6dIHchiB4JxsUz2Wp9VQHzuhA4QJWcurcw 4eUV9+xQpklWiriJMG4z6Xcwjb2NIykZINb2ftjOJR6aFp29EO6bzyA+yFTqla6P4r Gm1iVHLpzxSdg== 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 DB6B73782080; Tue, 20 Feb 2024 08:52:43 +0000 (UTC) From: Eugen Hristev 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 Cc: linux-kernel@vger.kernel.org, kernel@collabora.com, eugen.hristev@collabora.com, viro@zeniv.linux.org.uk, brauner@kernel.org, jack@suse.cz, krisman@suse.de Subject: [PATCH v12 0/8] Cache insensitive cleanup for ext4/f2fs Date: Tue, 20 Feb 2024 10:52:27 +0200 Message-Id: <20240220085235.71132-1-eugen.hristev@collabora.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791408981661608702 X-GMAIL-MSGID: 1791408981661608702 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 v12. 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. 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 | 105 +++++++++++------------------------- fs/f2fs/f2fs.h | 17 +++++- fs/f2fs/namei.c | 10 ++-- fs/f2fs/recovery.c | 5 +- fs/f2fs/super.c | 8 +-- fs/libfs.c | 85 +++++++++++++++++++++++++++++ include/linux/fs.h | 4 ++ 11 files changed, 216 insertions(+), 205 deletions(-)