]> www.infradead.org Git - users/jedix/linux-maple.git/commit
btrfs: keep private struct on stack for sync reads in btrfs_encoded_read_regular_fill...
authorDaniel Vacek <neelx@suse.com>
Wed, 15 Jan 2025 15:24:58 +0000 (16:24 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 17 Mar 2025 13:44:42 +0000 (14:44 +0100)
commit96b2854de8889c048ff6017413a1219fb275014a
treebcf52da4208670e4421a281ef3d28d3086c6b0d2
parent4701f33a10702d5fc577c32434eb62adde0a1ae1
btrfs: keep private struct on stack for sync reads in btrfs_encoded_read_regular_fill_pages()

Only allocate the btrfs_encoded_read_private structure for asynchronous
(io_uring) mode.

There's no need to allocate an object from slab in the synchronous mode. In
such a case stack can be happily used as it used to be before 68d3b27e05c7
("btrfs: move priv off stack in btrfs_encoded_read_regular_fill_pages()")
which was a preparation for the async mode.

While at it, fix the comment to reflect the atomic => refcount change in
d29662695ed7 ("btrfs: fix use-after-free waiting for encoded read endios").

Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Daniel Vacek <neelx@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/inode.c