fscrypt: Have filesystems handle their d_ops
authorDaniel Rosenberg <drosen@google.com>
Thu, 19 Nov 2020 06:09:03 +0000 (06:09 +0000)
committerJaegeuk Kim <jaegeuk@kernel.org>
Thu, 3 Dec 2020 06:00:21 +0000 (22:00 -0800)
commitbb9cd9106b22b4fc5ff8d78a752be8a4ba2cbba5
tree1a50923d6b88ef741f652302c46b1c0ca3f0d603
parent608af703519a58f5a7da4273809211cac27edfb2
fscrypt: Have filesystems handle their d_ops

This shifts the responsibility of setting up dentry operations from
fscrypt to the individual filesystems, allowing them to have their own
operations while still setting fscrypt's d_revalidate as appropriate.

Most filesystems can just use generic_set_encrypted_ci_d_ops, unless
they have their own specific dentry operations as well. That operation
will set the minimal d_ops required under the circumstances.

Since the fscrypt d_ops are set later on, we must set all d_ops there,
since we cannot adjust those later on. This should not result in any
change in behavior.

Signed-off-by: Daniel Rosenberg <drosen@google.com>
Acked-by: Theodore Ts'o <tytso@mit.edu>
Acked-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
13 files changed:
fs/crypto/fname.c
fs/crypto/fscrypt_private.h
fs/crypto/hooks.c
fs/ext4/dir.c
fs/ext4/ext4.h
fs/ext4/namei.c
fs/ext4/super.c
fs/f2fs/dir.c
fs/f2fs/f2fs.h
fs/f2fs/namei.c
fs/f2fs/super.c
fs/ubifs/dir.c
include/linux/fscrypt.h