在 2026/7/2 01:29, Daniel Vacek 写道:
On Fri, 26 Jun 2026 at 01:50, Qu Wenruo <[email protected]> wrote:
在 2026/6/25 02:21, Daniel Vacek 写道:
From: Sweet Tea Dorminy <[email protected]>

Encrypted file extents now have the 'encryption' field set to an
encryption type.  Let's print it.

Signed-off-by: Sweet Tea Dorminy <[email protected]>
Signed-off-by: Daniel Vacek <[email protected]>
---
   check/main.c               | 1 -
   kernel-shared/print-tree.c | 2 ++
   2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/check/main.c b/check/main.c
index dedb4db4..a32247b3 100644
--- a/check/main.c
+++ b/check/main.c
@@ -1778,7 +1778,6 @@ static int process_file_extent(struct btrfs_root *root,
                       rec->errors |= I_ERR_BAD_FILE_EXTENT;
               if (extent_type == BTRFS_FILE_EXTENT_PREALLOC &&
                   (btrfs_file_extent_compression(eb, fi) ||
-                  btrfs_file_extent_encryption(eb, fi) ||

May I ask why preallocated file extent would have encryption value set?

My common sense says that encryption policy should only be set for
regular file extents.

There's nothing wrong with pre-allocating encrypted files. Unlike
compression, the exact size is known beforehand.

IN that case, does it mean even a hole will have encryption value set?

This looks weird. Is there any special reason for setting encryption value for hole/preallocated range?

Can't we only set the encryption value only for regular, non-preallocated extents?

Thanks,
Qu


Simillar to NOCOW, the encrypted data will be stored with the next write.

--nX

Thanks,
Qu

                    btrfs_file_extent_other_encoding(eb, fi)))
                       rec->errors |= I_ERR_BAD_FILE_EXTENT;
               if (compression && rec->nodatasum)
diff --git a/kernel-shared/print-tree.c b/kernel-shared/print-tree.c
index 0afa3696..159f0825 100644
--- a/kernel-shared/print-tree.c
+++ b/kernel-shared/print-tree.c
@@ -471,6 +471,8 @@ static void print_file_extent_item(struct extent_buffer *eb,
       printf("\t\textent compression %hhu (%s)\n",
                       btrfs_file_extent_compression(eb, fi),
                       compress_str);
+     printf("\t\textent encryption %hhu\n",
+                     btrfs_file_extent_encryption(eb, fi));
   }

   /* Caller should ensure sizeof(*ret) >= 16("DATA|TREE_BLOCK") */




Reply via email to