@@ -181,6 +181,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;
@@ -564,6 +565,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);
}
}
@@ -108,6 +108,9 @@ struct btrfs_ordered_extent {
/* compression algorithm */
int compress_type;
+ /* encryption mode */
+ int encryption_type;
+
/* Qgroup reserved space */
int qgroup_rsv;
@@ -117,6 +120,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;
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 <josef@toxicpanda.com> --- fs/btrfs/ordered-data.c | 2 ++ fs/btrfs/ordered-data.h | 6 ++++++ 2 files changed, 8 insertions(+)