We're going to need these to update the file extent items once the
writes are complete.  Add them and add the pieces necessary to assign
them and free everything.

Signed-off-by: Josef Bacik <jo...@toxicpanda.com>
---
 fs/btrfs/ordered-data.c | 2 ++
 fs/btrfs/ordered-data.h | 6 ++++++
 2 files changed, 8 insertions(+)

diff --git a/fs/btrfs/ordered-data.c b/fs/btrfs/ordered-data.c
index b133ea0bc459..d33a780d9893 100644
--- a/fs/btrfs/ordered-data.c
+++ b/fs/btrfs/ordered-data.c
@@ -182,6 +182,7 @@ static struct btrfs_ordered_extent *alloc_ordered_extent(
        entry->bytes_left = num_bytes;
        entry->inode = igrab(&inode->vfs_inode);
        entry->compress_type = compress_type;
+       entry->encryption_type = BTRFS_ENCRYPTION_NONE;
        entry->truncated_len = (u64)-1;
        entry->qgroup_rsv = ret;
        entry->flags = flags;
@@ -568,6 +569,7 @@ void btrfs_put_ordered_extent(struct btrfs_ordered_extent 
*entry)
                        list_del(&sum->list);
                        kvfree(sum);
                }
+               fscrypt_put_extent_info(entry->fscrypt_info);
                kmem_cache_free(btrfs_ordered_extent_cache, entry);
        }
 }
diff --git a/fs/btrfs/ordered-data.h b/fs/btrfs/ordered-data.h
index 1c51ac57e5df..607814876f1f 100644
--- a/fs/btrfs/ordered-data.h
+++ b/fs/btrfs/ordered-data.h
@@ -122,6 +122,9 @@ struct btrfs_ordered_extent {
        /* compression algorithm */
        int compress_type;
 
+       /* encryption mode */
+       int encryption_type;
+
        /* Qgroup reserved space */
        int qgroup_rsv;
 
@@ -131,6 +134,9 @@ struct btrfs_ordered_extent {
        /* the inode we belong to */
        struct inode *inode;
 
+       /* the fscrypt_info for this extent, if necessary */
+       struct fscrypt_extent_info *fscrypt_info;
+
        /* list of checksums for insertion when the extent io is done */
        struct list_head list;
 
-- 
2.41.0

Reply via email to