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

Reply via email to