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.
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") */
>