Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp1834212iob; Fri, 29 Apr 2022 14:04:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwEMjmH8v2vz+3i4p5+duzwc2LDcJ9wtf0foqYDSlACHsPnQFQsarL4xN4df7uC97rV6JLB X-Received: by 2002:a05:651c:992:b0:24b:99c:35c with SMTP id b18-20020a05651c099200b0024b099c035cmr701143ljq.142.1651266267720; Fri, 29 Apr 2022 14:04:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651266267; cv=none; d=google.com; s=arc-20160816; b=gIbnkkFR1uWFnzkw4WBGHX3Y7qZDnhs1nPJ5fJgwgsS1jo6qcTaG8UAU3BkVo4IdDq saydO9y8Uh5rsqfUwTklXucycmz4smiXzRAugQHDZdPx5YPOjTpu9bPVNu2PgdlxufCv SQyy+IQPJ7Rk5VvVw2V65QrkEkaxM0ClGDgH3ze8XhOrkmRQRk2tljSt9CAcu1U5jhkT RWMX7UChR43MrQxlSR1D3c4xkbcFqamIsDq84w+QWc4aHVMWfM5DLdBAYbLHXjRnN2vU jphEHv6OD7rqzGg7vOQVAEOHC0L9AAGMOgo2wUzAfyUDsZA7dCywQRzVR/XkX6lUUlNb 04NA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=Pzz3TR78yjKnMD8p0e+MAEfO6kQl7yW/9n6UzlnQ5vA=; b=kZCjdlMMNrXGgUoeRXrV5vSIRK8Mo9dkIuCIk4AJEfP9ta+nj/irA1kPCsfUYukKxb NP6V+JHqRFnfnjp7wtVdpnLKtaqFF3bY0tXzNFl0y34QRZCe6WcYoJGmw2+zMqSvXThC WzHaDyOA9gGjwY8UevY/CDdTB3Ck4ZWirKI7SrzB+2P55AJ9iqC0Ssmmp8AOCa9AT7Zr ObRD9lSAsf5dyhRKj68miUqFiO+il24nCvV2EyCvRjwQ3FWfhmTKQk9WGU24dNImBTVS r54RhQDbP/HK3NTrMXj10FTLIn8PhniBjIiPKNAcujdf7wzazgR0HS0JoJlk9Vfdbp0m PzQQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=M07arppD; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e9-20020a2e8189000000b0024f0db22ee4si8161258ljg.601.2022.04.29.14.03.51; Fri, 29 Apr 2022 14:04:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=M07arppD; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235142AbiD2Sa6 (ORCPT + 99 others); Fri, 29 Apr 2022 14:30:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58518 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1379861AbiD2Saz (ORCPT ); Fri, 29 Apr 2022 14:30:55 -0400 Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 42747C74BA for ; Fri, 29 Apr 2022 11:27:36 -0700 (PDT) Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: krisman) with ESMTPSA id B275E1F4690E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1651256855; bh=BennjuHd6cboenERnfAOrIYnBLd5KMc0poz3LPBQ9hQ=; h=From:To:Cc:Subject:Date:From; b=M07arppDaVxsrRh+13BjTik245FkbwpbvYdveXca5NR7rll6mK85puUsuqYBuNxTv 36b62YjR79DPSKBsaxSw3fbsOmAWdRHs7MNP5CBjXm9BI9rQTgS+EcoirCv4kSeADT hswVnZUTnj03JstDOzUm+mjFs/PoBFo1j5zwj4JgpBqKYIGgzUIKXuZJwaIHvDDp8B /zOaoshm4KeWVBUKmmHtQ6teirk1YScRsVR4unylK+XeWFUhn7d15PmPfkrzmKXVLn 9ZBuKdx6jGfrh7lopvDdU0jaGPU9VJ0YHSM/6ZemSOIA6nq5oJJ032VBYVnZw66U8o KGNPWpAV/1i+A== From: Gabriel Krisman Bertazi To: tytso@mit.edu, adilger.kernel@dilger.ca, jaegeuk@kernel.org Cc: linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, ebiggers@kernel.org, Gabriel Krisman Bertazi , kernel@collabora.com Subject: [PATCH v3 0/7] Clean up the case-insenstive lookup path Date: Fri, 29 Apr 2022 14:27:21 -0400 Message-Id: <20220429182728.14008-1-krisman@collabora.com> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org This is the v3 of this series. It fixes a build error when building filesystems as a module on the previous series. * v2 This is the v2 of this series. it applies Eric's comments and extend the series to complete the merge of generic_ci_match for ext4 and f2fs. * Original cover 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. While there, I noticed we can leverage the utf8 functions to detect encoded names that are corrupted in the filesystem. The final patch adds an ext4 error on that scenario, to mark the filesystem as corrupted. This series survived passes of xfstests -g quick. Gabriel Krisman Bertazi (7): ext4: Match the f2fs ci_compare implementation ext4: Simplify the handling of cached insensitive names ext4: Implement ci comparison using unicode_name ext4: Simplify hash check on ext4_match ext4: Log error when lookup of encoded dentry fails ext4: Move ext4_match_ci into libfs f2fs: Reuse generic_ci_match for ci comparisons fs/ext4/ext4.h | 2 +- fs/ext4/namei.c | 110 ++++++++++++++------------------------------- fs/f2fs/dir.c | 58 ++---------------------- fs/libfs.c | 61 +++++++++++++++++++++++++ include/linux/fs.h | 8 ++++ 5 files changed, 107 insertions(+), 132 deletions(-) -- 2.35.1