From: Josef Bacik <[email protected]>

Instead of requiring -o inlinecrypt to enable inline encryption, allow
having s_cop->has_per_extent_encryption to indicate that this file
system supports inline encryption.

Signed-off-by: Josef Bacik <[email protected]>
Signed-off-by: Daniel Vacek <[email protected]>
---

v5: 
https://lore.kernel.org/linux-btrfs/ba0289bf103653d5d98ef576756c9a2a66192865.1706116485.git.jo...@toxicpanda.com/
 * No changes since.
---
 fs/crypto/inline_crypt.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/fs/crypto/inline_crypt.c b/fs/crypto/inline_crypt.c
index 0d62bce2114a..38a729700552 100644
--- a/fs/crypto/inline_crypt.c
+++ b/fs/crypto/inline_crypt.c
@@ -108,8 +108,11 @@ int fscrypt_select_encryption_impl(struct 
fscrypt_inode_info *ci,
        if (ci->ci_mode->blk_crypto_mode == BLK_ENCRYPTION_MODE_INVALID)
                return 0;
 
-       /* The filesystem must be mounted with -o inlinecrypt */
-       if (!(sb->s_flags & SB_INLINECRYPT))
+       /*
+        * The filesystem must be mounted with -o inlinecrypt or have
+        * has_per_extent_encryption enabled.
+        */
+       if (!(sb->s_flags & SB_INLINECRYPT) && 
!sb->s_cop->has_per_extent_encryption)
                return 0;
 
        /*
-- 
2.51.0


Reply via email to