Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp107571pxb; Tue, 17 Nov 2020 22:43:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJyV1zazcRA8CPn6Zud3q4o9HgmPkDSEcd/8YOqRAaTkxNhvc4V7VpKQg4xPdjhQNaSP7k2b X-Received: by 2002:a17:906:f89a:: with SMTP id lg26mr4872649ejb.294.1605681802613; Tue, 17 Nov 2020 22:43:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605681802; cv=none; d=google.com; s=arc-20160816; b=KKq8yg+cRfzRPTGoYb/uczg6D0+HSQVjJGhJP8R9/7iyhA5/ZtRMGTqqqeUOppy4p+ 1gfnsoal9O8L1RnHAPlC/umZSIQu+CIIR6UriD3pg1EP1L8BBO5vTO0V18DQR+Xulyox XF5v1uIeZqbbHRgxkzHzr9B79bPn7AI0I74H/LZ949f0MpS/H2QFcVvmc5zXGHYppjKp N1mH5vlLHEe7umu8SWxi3FXP4n1K3qz/brXnTHCG/KQdjUOXbIEhE+D+cuQ1HCvO2jeW mr9LoqpWdp6Pa/Su+/WeO4FIB3APp2Wr89Q5FJHAARl92YLO0eEzu/oEqP0N9RhXDVVl +BZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:mime-version:message-id:date :sender:dkim-signature; bh=u5caVYpjW51UviyAUiIiuabnW39XcM6vjoXzylmjMQQ=; b=jIkTaKdO6tSRh56c0CmNk5UNBNFFrdpojqDRaqRgtr37R4xa2H/83XqhyS/8PICorA PsuG5g8BIEMKp4Z4qXGvUWvci7h+zRuNEj1twGwTshOXCjhhU3vKPaOwilEP50ptg1MM 2315YbAymQhzpy9cm5mL+f2Bw+Pg1+yUmcQrGe289iQGY8CMkhmsnULoNOTwAuY0BFfb Jy2K8W9alS92fpo6M93bjglxDKwinm2qlw447JhmTs2U1qohCg6OUrZn/Yz+T6Ps7KnX jlMKIYthAm9L60+8IfefsqBns2PTcrf8vI9QGXRCdcs2kcY2QaEntZUkwqfqWaFqvDJ/ v65w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="nEBuvp/4"; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e17si198394edq.469.2020.11.17.22.42.53; Tue, 17 Nov 2020 22:43:22 -0800 (PST) Received-SPF: pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="nEBuvp/4"; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726300AbgKRGmv (ORCPT + 99 others); Wed, 18 Nov 2020 01:42:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51700 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725970AbgKRGmu (ORCPT ); Wed, 18 Nov 2020 01:42:50 -0500 Received: from mail-qv1-xf4a.google.com (mail-qv1-xf4a.google.com [IPv6:2607:f8b0:4864:20::f4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A5DFCC0613D4 for ; Tue, 17 Nov 2020 22:42:50 -0800 (PST) Received: by mail-qv1-xf4a.google.com with SMTP id du18so660651qvb.14 for ; Tue, 17 Nov 2020 22:42:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=sender:date:message-id:mime-version:subject:from:to:cc; bh=u5caVYpjW51UviyAUiIiuabnW39XcM6vjoXzylmjMQQ=; b=nEBuvp/4qXTH4AAIx8Gr2DG2ZKpgZ7YLYjZB4voXYemMwTXptimZcegqwTHgPpPw0I EwVwGOxQa0Aap22fetPS3Lj1KFiJioOyzRYapPZ3sh/IAuvruSKA7NOPaADtyCApdcOZ eAHvd6+arAeAaZ+UyJBdV9j0eelWwDnmi6lZpJl9AxxsRYC6qRxvLZVskUhKpBbGb5qW pV4o4S/wW+/n3D8iLw3TM6UN0E6wiazwRqgTjGZUDhQT6iU9/QB6j3bqBsuOg9PvT/PI dyzTuACoqvvljMcN66fAqWLJpRZe+hY81fFWPiwVJVjTQu1i6Bp5N0pAHXwnA55L1ZPQ JGzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:message-id:mime-version:subject:from :to:cc; bh=u5caVYpjW51UviyAUiIiuabnW39XcM6vjoXzylmjMQQ=; b=lDN92KXfu2GgpHW+r7UrtFGOnHBmsjBORj/4B/xv3AuBltproYrCNBPbcRURNQbeU7 YIHhrBU+mK94rzs6KZjXnGz5tf9fEldaTY2FU7w9WMMIKYDmT7O9MZiC1jCaco4fxifP YcsqwLQKCAmJxEQSg4k7HQmC5lg5DS+sWXpW0PQqsqobAuRnzve3JpseolkedzDue80x NixIXL5AtO+VR/l25obFIKhvZR5It1LqMYe03coSaY1bYjyTQXRatsc4ny4vhswlDSg/ jltbwmd3WfO2ELSs6B2964CaboDlv1oErhwRYoJZtSPXhl6+BtdWRSO4sWxDHaHa32he bCdQ== X-Gm-Message-State: AOAM530/ZElk0ug9rgnSuzuS0Anc6yApmHuWUG9xvoQkThfMB9Fc6nx/ z0JvVzJkKo8WIhgQ22rNpxcMQOfUsxs= Sender: "drosen via sendgmr" X-Received: from drosen.c.googlers.com ([fda3:e722:ac3:10:24:72f4:c0a8:4e6f]) (user=drosen job=sendgmr) by 2002:ad4:490d:: with SMTP id bh13mr3584587qvb.14.1605681769641; Tue, 17 Nov 2020 22:42:49 -0800 (PST) Date: Wed, 18 Nov 2020 06:42:42 +0000 Message-Id: <20201118064245.265117-1-drosen@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.29.2.299.gdc1121823c-goog Subject: [PATCH v3 0/3] Add support for Encryption and Casefolding in F2FS From: Daniel Rosenberg To: "Theodore Y . Ts'o" , Jaegeuk Kim , Eric Biggers , Andreas Dilger , Chao Yu , Alexander Viro , Richard Weinberger , linux-fscrypt@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mtd@lists.infradead.org, Gabriel Krisman Bertazi , kernel-team@android.com, Daniel Rosenberg Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org These patches are on top of the torvalds tree. F2FS currently supports casefolding and encryption, but not at the same time. These patches aim to rectify that. In a later follow up, this will be added for Ext4 as well. The f2fs-tools changes have already been applied. Since both fscrypt and casefolding require their own dentry operations, I've moved the responsibility of setting the dentry operations from fscrypt to the filesystems and provided helper functions that should work for most cases. These are a follow-up to the previously sent patch set "[PATCH v12 0/4] Prepare for upcoming Casefolding/Encryption patches" v2: Simplified generic dentry_op function Passed through errors in f2fs_match_ci_name v3: Split some long lines Cleaned up some code Made some comments clearer Fixed bug in v2 error passing Daniel Rosenberg (3): libfs: Add generic function for setting dentry_ops fscrypt: Have filesystems handle their d_ops f2fs: Handle casefolding with Encryption fs/crypto/fname.c | 4 -- fs/crypto/hooks.c | 1 - fs/ext4/dir.c | 7 --- fs/ext4/ext4.h | 4 -- fs/ext4/namei.c | 1 + fs/ext4/super.c | 5 -- fs/f2fs/dir.c | 105 +++++++++++++++++++++++++++++----------- fs/f2fs/f2fs.h | 11 ++--- fs/f2fs/hash.c | 11 ++++- fs/f2fs/inline.c | 4 ++ fs/f2fs/namei.c | 1 + fs/f2fs/recovery.c | 12 ++++- fs/f2fs/super.c | 7 --- fs/libfs.c | 70 +++++++++++++++++++++++++++ fs/ubifs/dir.c | 1 + include/linux/fs.h | 1 + include/linux/fscrypt.h | 7 ++- 17 files changed, 185 insertions(+), 67 deletions(-) base-commit: 0fa8ee0d9ab95c9350b8b84574824d9a384a9f7d -- 2.29.2.454.gaff20da3a2-goog