Received: by 2002:ab2:1149:0:b0:1f3:1f8c:d0c6 with SMTP id z9csp2158724lqz; Tue, 2 Apr 2024 08:49:02 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCW5PTC8HPtDfORY5jdJBcX2MufBpUC8w43lHOfR9FCxTtO6TCFomwqZAtSH0hNPUUcqdDUyEguFyZ6LfqK/b8pxD9swzzx56aF75FtIxA== X-Google-Smtp-Source: AGHT+IH6ZGelldzAbuUc7OW2xklLrvrd0yiPw8cfL1LAduke+xvRXYxIqdCUWTDsNwz7L93CFlT3 X-Received: by 2002:a17:907:72c6:b0:a47:30a1:4c1b with SMTP id du6-20020a17090772c600b00a4730a14c1bmr10624855ejc.55.1712072942385; Tue, 02 Apr 2024 08:49:02 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712072942; cv=pass; d=google.com; s=arc-20160816; b=xPQ3PLMQK3wXyWC/vZADbg+heH5VYEjuq3oE98nEevBZBRoeo0ioCxGaQz/Y6Lk3ln y+y2i2qSQrC8jvaMDR4LD1ZOzaO1RqP94JssbqBDmA5rd9UoL7crEwKxyktF0d7npkE7 PySZ+rvJewSpjsEgKPSUNgiJWehHJC0XpXFpa4/hkSv74WD2USM1JS7rye6/udcisJuu BDFmiJW9U4BhgKzY0Mgim3Oz1xbTDQDP0R8wiBiUOLJOSkizXpWlhy5fJaeHIJ8nw3hb +iBuuTKFfgI0nblxyGnl4SMwAoV5n21FK6YtNtfkMNbVMH9mpdwEpz9MCQSWdedJF7Vm BKXA== 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=3mwDjrtpGFWyWTVaajHgXADcCheEYkss5+RDMDrRC9w=; fh=leNjPu/3B1/amj8pWgnZPg+v2NORBP0eXUn2DeKKAIs=; b=M40GTK+7KfVgpEZ5gOJWiGCEJYfb+iuh/jxc8Q4nvdycERaeClgjM0/rcB8Kj4Kf5U YkToqLEDygnfKU8XqBISjrU1AOnEqqSpvoSAhkJAP0huQ8FHwFfDDV15lNrJu5dz2cP4 a6N1Z8yElkcGlJX8k+jDmbrygpwmqnYoh8/5uBnAGJjhSVx7r4DZLhm74w5Q4K2GNq1D syO086Qv4w8KGpQHevzG5r4cD+JTkB1CpZcVhxd209ZwXBb/OmOcyOA3/t2V6sEYcA6A 4kojffYSuiSpa95ti94HiFvj500+ElK1Urob+vUHKQI7NNB5ZiFz4JR2Zd5uxOmKPz0u L64w==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=PI5xi3Zy; 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-ext4+bounces-1825-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-ext4+bounces-1825-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id jx21-20020a170906ca5500b00a452d150025si5776027ejb.1015.2024.04.02.08.49.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Apr 2024 08:49:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-ext4+bounces-1825-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=PI5xi3Zy; 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-ext4+bounces-1825-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-ext4+bounces-1825-linux.lists.archive=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 am.mirrors.kernel.org (Postfix) with ESMTPS id 2396D1F22611 for ; Tue, 2 Apr 2024 15:49:02 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id ECE5C1332A1; Tue, 2 Apr 2024 15:48:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="PI5xi3Zy" X-Original-To: linux-ext4@vger.kernel.org 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 8340C131751; Tue, 2 Apr 2024 15:48:50 +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=1712072932; cv=none; b=ak8xXkgXcZ/FTMVu1OXoCc9x1oRXLO2oA6utX9s4XlL0Awwy0f+iJaeraVH+4u+dMt7QHOxvFc630OVMfA/O4Vqv6oGLNYKH4Yv2LeR68xMaAy+UYwq1k5TZO14QBYAkGFAkvYR2MnrI6DDR9gpgMpKnzg86EmG/H2z5CWJoVzA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712072932; c=relaxed/simple; bh=3Q4sw2WXlvOL56uRd8hcDkbPNnR7p5wFvWwXppPSe2U=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=b+Kc+m5Awuz4DZD5oX/vW9MOTHcGbDc4LDtRXzcI2AE1SyIrYHqp2ZW5umNe9Ps0U2l9c8MZsC8DEdNKH3Bu2xiv6N6J3PaufLYvFIiqqrUQET2gYygHQJJ7fnWSVBXHVQkPGrXrBvrMfLVoozCXOnazxpZrAWBAQVQGWYnEBvc= 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=PI5xi3Zy; 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=1712072928; bh=3Q4sw2WXlvOL56uRd8hcDkbPNnR7p5wFvWwXppPSe2U=; h=From:To:Cc:Subject:Date:From; b=PI5xi3ZycfvN4c9ep2fl6zXkWItHP4JowiwSlBcekvXuv+387JU5aaViZoOZiQxcY KXPq0fzMtqwFNcYQdmx41zEs70JREAPN9TUs3o5ozIszcmS6Bptwi9z1Lu3ATVk4B6 MgqN8T5PoAbXhyNwEEjSucXtOtesYNy4HFvq25d1k33pXfm+4xTfeGVjIjdIDj/FHL jFq1RxQ8Ai4ME2kV0BdRjMYOj+NTmtDibf+zOL6QI0UMXJKGa4ZvIrlqZbMOdTWulW D3vawV71c3/oRq6OGFlpOr5rS9fuXPBvGiXFyWz/8IMW6jovaYklSo9TN83IgZW1hR 8ukjO3YmuytlQ== 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 8ACDD3780C39; Tue, 2 Apr 2024 15:48:47 +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 v15 0/9] Cache insensitive cleanup for ext4/f2fs Date: Tue, 2 Apr 2024 18:48:33 +0300 Message-Id: <20240402154842.508032-1-eugen.hristev@collabora.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-ext4@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 v15. Changes in v15: - fix wrong check `ret<0` in 7/9 - fix memleak reintroduced in 8/9 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 | 10 +--- fs/ext4/ext4.h | 35 +++++++----- fs/ext4/namei.c | 129 ++++++++++++++++----------------------------- fs/ext4/super.c | 4 +- fs/f2fs/dir.c | 108 ++++++++++++------------------------- 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, 210 insertions(+), 196 deletions(-) -- 2.34.1