[PATCH v2 29/36] btrfs: pass the fscrypt_info through the replace extent infrastructure

2023年10月10日 13:42:34 -0700

Prealloc uses the btrfs_replace_file_extents() infrastructure to insert
its new extents. We need to set the fscrypt context on these extents,
so pass this through the btrfs_replace_extent_info so it can be used in
a later patch when we hook in this infrastructure.
Signed-off-by: Josef Bacik <[email protected]>
---
 fs/btrfs/ctree.h | 2 ++
 fs/btrfs/inode.c | 1 +
 2 files changed, 3 insertions(+)
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index e5879bd7f2f7..f5367091c0cd 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -374,6 +374,8 @@ struct btrfs_replace_extent_info {
 char *extent_buf;
 /* The length of @extent_buf */
 u32 extent_buf_size;
+ /* The fscrypt_extent_info for a new extent. */
+ struct fscrypt_extent_info *fscrypt_info;
 /*
 * Set to true when attempting to replace a file range with a new extent
 * described by this structure, set to false when attempting to clone an
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 87b38be47d0b..99fb5a613fb8 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -9714,6 +9714,7 @@ static struct btrfs_trans_handle 
*insert_prealloc_file_extent(
 extent_info.update_times = true;
 extent_info.qgroup_reserved = qgroup_released;
 extent_info.insertions = 0;
+ extent_info.fscrypt_info = fscrypt_info;
 
 path = btrfs_alloc_path();
 if (!path) {
-- 
2.41.0

Reply via email to