From: Gabriel Krisman Bertazi <krisman@suse.de>
To: Eric Biggers <ebiggers@kernel.org>
Cc: viro@zeniv.linux.org.uk, jaegeuk@kernel.org, tytso@mit.edu,
amir73il@gmail.com, linux-ext4@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-fsdevel@vger.kernel.org, brauner@kernel.org
Subject: Re: [PATCH v7 00/10] Set casefold/fscrypt dentry operations through sb->s_d_op
Date: Tue, 27 Feb 2024 16:28:23 -0500 [thread overview]
Message-ID: <87o7c161hk.fsf@mailhost.krisman.be> (raw)
In-Reply-To: <20240227063614.GB1126@sol.localdomain> (Eric Biggers's message of "Mon, 26 Feb 2024 22:36:14 -0800")
Eric Biggers <ebiggers@kernel.org> writes:
> On Wed, Feb 21, 2024 at 12:14:02PM -0500, Gabriel Krisman Bertazi wrote:
>>
>> When case-insensitive and fscrypt were adapted to work together, we moved the
>> code that sets the dentry operations for case-insensitive dentries(d_hash and
>> d_compare) to happen from a helper inside ->lookup. This is because fscrypt
>> wants to set d_revalidate only on some dentries, so it does it only for them in
>> d_revalidate.
>>
>> But, case-insensitive hooks are actually set on all dentries in the filesystem,
>> so the natural place to do it is through s_d_op and let d_alloc handle it [1].
>> In addition, doing it inside the ->lookup is a problem for case-insensitive
>> dentries that are not created through ->lookup, like those coming
>> open-by-fhandle[2], which will not see the required d_ops.
>>
>> This patchset therefore reverts to using sb->s_d_op to set the dentry operations
>> for case-insensitive filesystems. In order to set case-insensitive hooks early
>> and not require every dentry to have d_revalidate in case-insensitive
>> filesystems, it introduces a patch suggested by Al Viro to disable d_revalidate
>> on some dentries on the fly.
>>
>> It survives fstests encrypt and quick groups without regressions. Based on
>> v6.7-rc1.
>>
>> [1] https://lore.kernel.org/linux-fsdevel/20231123195327.GP38156@ZenIV/
>> [2] https://lore.kernel.org/linux-fsdevel/20231123171255.GN38156@ZenIV/
>>
>> Gabriel Krisman Bertazi (10):
>> ovl: Always reject mounting over case-insensitive directories
>> fscrypt: Factor out a helper to configure the lookup dentry
>> fscrypt: Drop d_revalidate for valid dentries during lookup
>> fscrypt: Drop d_revalidate once the key is added
>> libfs: Merge encrypted_ci_dentry_ops and ci_dentry_ops
>> libfs: Add helper to choose dentry operations at mount-time
>> ext4: Configure dentry operations at dentry-creation time
>> f2fs: Configure dentry operations at dentry-creation time
>> ubifs: Configure dentry operations at dentry-creation time
>> libfs: Drop generic_set_encrypted_ci_d_ops
>>
>> fs/crypto/hooks.c | 15 ++++------
>> fs/ext4/namei.c | 1 -
>> fs/ext4/super.c | 1 +
>> fs/f2fs/namei.c | 1 -
>> fs/f2fs/super.c | 1 +
>> fs/libfs.c | 62 +++++++++++---------------------------
>> fs/overlayfs/params.c | 14 +++++++--
>> fs/ubifs/dir.c | 1 -
>> fs/ubifs/super.c | 1 +
>> include/linux/fs.h | 11 ++++++-
>> include/linux/fscrypt.h | 66 ++++++++++++++++++++++++++++++++++++-----
>> 11 files changed, 105 insertions(+), 69 deletions(-)
>>
>
> Looks good,
>
> Reviewed-by: Eric Biggers <ebiggers@google.com>
Thank you for you reviews, Eric. I really appreciate them.
Since this been on the list for a while, I pushed it to get some
linux-next testing and, should nothing arise or no one else comments,
will get to Linus soon.
Thanks,
--
Gabriel Krisman Bertazi
WARNING: multiple messages have this Message-ID (diff)
From: Gabriel Krisman Bertazi <krisman@suse.de>
To: Eric Biggers <ebiggers@kernel.org>
Cc: brauner@kernel.org, tytso@mit.edu, amir73il@gmail.com,
linux-f2fs-devel@lists.sourceforge.net, viro@zeniv.linux.org.uk,
linux-fsdevel@vger.kernel.org, jaegeuk@kernel.org,
linux-ext4@vger.kernel.org
Subject: Re: [f2fs-dev] [PATCH v7 00/10] Set casefold/fscrypt dentry operations through sb->s_d_op
Date: Tue, 27 Feb 2024 16:28:23 -0500 [thread overview]
Message-ID: <87o7c161hk.fsf@mailhost.krisman.be> (raw)
In-Reply-To: <20240227063614.GB1126@sol.localdomain> (Eric Biggers's message of "Mon, 26 Feb 2024 22:36:14 -0800")
Eric Biggers <ebiggers@kernel.org> writes:
> On Wed, Feb 21, 2024 at 12:14:02PM -0500, Gabriel Krisman Bertazi wrote:
>>
>> When case-insensitive and fscrypt were adapted to work together, we moved the
>> code that sets the dentry operations for case-insensitive dentries(d_hash and
>> d_compare) to happen from a helper inside ->lookup. This is because fscrypt
>> wants to set d_revalidate only on some dentries, so it does it only for them in
>> d_revalidate.
>>
>> But, case-insensitive hooks are actually set on all dentries in the filesystem,
>> so the natural place to do it is through s_d_op and let d_alloc handle it [1].
>> In addition, doing it inside the ->lookup is a problem for case-insensitive
>> dentries that are not created through ->lookup, like those coming
>> open-by-fhandle[2], which will not see the required d_ops.
>>
>> This patchset therefore reverts to using sb->s_d_op to set the dentry operations
>> for case-insensitive filesystems. In order to set case-insensitive hooks early
>> and not require every dentry to have d_revalidate in case-insensitive
>> filesystems, it introduces a patch suggested by Al Viro to disable d_revalidate
>> on some dentries on the fly.
>>
>> It survives fstests encrypt and quick groups without regressions. Based on
>> v6.7-rc1.
>>
>> [1] https://lore.kernel.org/linux-fsdevel/20231123195327.GP38156@ZenIV/
>> [2] https://lore.kernel.org/linux-fsdevel/20231123171255.GN38156@ZenIV/
>>
>> Gabriel Krisman Bertazi (10):
>> ovl: Always reject mounting over case-insensitive directories
>> fscrypt: Factor out a helper to configure the lookup dentry
>> fscrypt: Drop d_revalidate for valid dentries during lookup
>> fscrypt: Drop d_revalidate once the key is added
>> libfs: Merge encrypted_ci_dentry_ops and ci_dentry_ops
>> libfs: Add helper to choose dentry operations at mount-time
>> ext4: Configure dentry operations at dentry-creation time
>> f2fs: Configure dentry operations at dentry-creation time
>> ubifs: Configure dentry operations at dentry-creation time
>> libfs: Drop generic_set_encrypted_ci_d_ops
>>
>> fs/crypto/hooks.c | 15 ++++------
>> fs/ext4/namei.c | 1 -
>> fs/ext4/super.c | 1 +
>> fs/f2fs/namei.c | 1 -
>> fs/f2fs/super.c | 1 +
>> fs/libfs.c | 62 +++++++++++---------------------------
>> fs/overlayfs/params.c | 14 +++++++--
>> fs/ubifs/dir.c | 1 -
>> fs/ubifs/super.c | 1 +
>> include/linux/fs.h | 11 ++++++-
>> include/linux/fscrypt.h | 66 ++++++++++++++++++++++++++++++++++++-----
>> 11 files changed, 105 insertions(+), 69 deletions(-)
>>
>
> Looks good,
>
> Reviewed-by: Eric Biggers <ebiggers@google.com>
Thank you for you reviews, Eric. I really appreciate them.
Since this been on the list for a while, I pushed it to get some
linux-next testing and, should nothing arise or no one else comments,
will get to Linus soon.
Thanks,
--
Gabriel Krisman Bertazi
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
next prev parent reply other threads:[~2024-02-27 21:28 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-21 17:14 [PATCH v7 00/10] Set casefold/fscrypt dentry operations through sb->s_d_op Gabriel Krisman Bertazi
2024-02-21 17:14 ` [f2fs-dev] " Gabriel Krisman Bertazi
2024-02-21 17:14 ` [PATCH v7 01/10] ovl: Always reject mounting over case-insensitive directories Gabriel Krisman Bertazi
2024-02-21 17:14 ` [f2fs-dev] " Gabriel Krisman Bertazi
2024-02-21 17:14 ` [PATCH v7 02/10] fscrypt: Factor out a helper to configure the lookup dentry Gabriel Krisman Bertazi
2024-02-21 17:14 ` [f2fs-dev] " Gabriel Krisman Bertazi
2024-02-21 17:14 ` [PATCH v7 03/10] fscrypt: Drop d_revalidate for valid dentries during lookup Gabriel Krisman Bertazi
2024-02-21 17:14 ` [f2fs-dev] " Gabriel Krisman Bertazi
2024-02-21 17:14 ` [PATCH v7 04/10] fscrypt: Drop d_revalidate once the key is added Gabriel Krisman Bertazi
2024-02-21 17:14 ` [f2fs-dev] " Gabriel Krisman Bertazi
2024-02-21 17:14 ` [PATCH v7 05/10] libfs: Merge encrypted_ci_dentry_ops and ci_dentry_ops Gabriel Krisman Bertazi
2024-02-21 17:14 ` [f2fs-dev] " Gabriel Krisman Bertazi
2024-02-21 17:14 ` [PATCH v7 06/10] libfs: Add helper to choose dentry operations at mount-time Gabriel Krisman Bertazi
2024-02-21 17:14 ` [f2fs-dev] " Gabriel Krisman Bertazi
2024-02-21 17:14 ` [PATCH v7 07/10] ext4: Configure dentry operations at dentry-creation time Gabriel Krisman Bertazi
2024-02-21 17:14 ` [f2fs-dev] " Gabriel Krisman Bertazi
2024-02-21 17:14 ` [PATCH v7 08/10] f2fs: " Gabriel Krisman Bertazi
2024-02-21 17:14 ` [f2fs-dev] " Gabriel Krisman Bertazi
2024-02-21 17:14 ` [PATCH v7 09/10] ubifs: " Gabriel Krisman Bertazi
2024-02-21 17:14 ` [f2fs-dev] " Gabriel Krisman Bertazi
2024-02-21 17:14 ` [PATCH v7 10/10] libfs: Drop generic_set_encrypted_ci_d_ops Gabriel Krisman Bertazi
2024-02-21 17:14 ` [f2fs-dev] " Gabriel Krisman Bertazi
2024-02-27 6:36 ` [PATCH v7 00/10] Set casefold/fscrypt dentry operations through sb->s_d_op Eric Biggers
2024-02-27 6:36 ` [f2fs-dev] " Eric Biggers
2024-02-27 21:28 ` Gabriel Krisman Bertazi [this message]
2024-02-27 21:28 ` Gabriel Krisman Bertazi
2024-03-18 20:45 ` patchwork-bot+f2fs
2024-03-18 20:45 ` patchwork-bot+f2fs
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87o7c161hk.fsf@mailhost.krisman.be \
--to=krisman@suse.de \
--cc=amir73il@gmail.com \
--cc=brauner@kernel.org \
--cc=ebiggers@kernel.org \
--cc=jaegeuk@kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=tytso@mit.edu \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.