btrfs: embed a btrfs_bio into struct compressed_bio
authorChristoph Hellwig <hch@lst.de>
Fri, 10 Feb 2023 07:48:34 +0000 (08:48 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 17 Apr 2023 16:01:14 +0000 (18:01 +0200)
commit544fe4a903ce71fb8ecbc159db6f245ef3f691fe
tree3342253b55769ba213b2114cec3db34ba25078c0
parent18d758a2d81a97b9a54a37d535870ce3170cc208
btrfs: embed a btrfs_bio into struct compressed_bio

Embed a btrfs_bio into struct compressed_bio.  This avoids potential
(so far theoretical) deadlocks due to nesting of btrfs_bioset allocations
for the original read bio and the compressed bio, and avoids an extra
memory allocation in the I/O path.

Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/compression.c
fs/btrfs/compression.h
fs/btrfs/extent_io.c
fs/btrfs/inode.c
fs/btrfs/lzo.c