diff options
| author | Yang Xiuwei <yangxiuwei@kylinos.cn> | 2026-08-19 10:54:32 +0800 |
|---|---|---|
| committer | David Sterba <dsterba@suse.com> | 2026-10-05 16:05:43 +0200 |
| commit | 80a8dbb30d2b00b9c671b02bd73f700f6d20100f (patch) | |
| tree | 539e5d395bcd0521e628204d91a45576b42eb75e /tools/lib/python/kdoc | |
| parent | 1fd742c7479961da6d0bb794ef8ac6b7b9442847 (diff) | |
| download | linux-next-80a8dbb30d2b00b9c671b02bd73f700f6d20100f.tar.gz linux-next-80a8dbb30d2b00b9c671b02bd73f700f6d20100f.zip | |
btrfs: always return -EIOCBQUEUED after btrfs_uring_read_extent_endio
If all bios finish before btrfs_encoded_read_regular_fill_pages()
returns, it calls btrfs_uring_read_extent_endio() and previously
returned the I/O status. A negative errno then made
btrfs_uring_read_extent() unlock and free while
btrfs_uring_read_finished() did the same again.
Return -EIOCBQUEUED so only the deferred path cleans up.
Reported-by: Yue Sun <samsun1006219@gmail.com>
Closes: https://lore.kernel.org/linux-btrfs/20260630091609.3414-1-samsun1006219@gmail.com/
Suggested-by: Jens Axboe <axboe@kernel.dk>
Fixes: 34310c442e17 ("btrfs: add io_uring command for encoded reads (ENCODED_READ ioctl)")
Signed-off-by: Yang Xiuwei <yangxiuwei@kylinos.cn>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'tools/lib/python/kdoc')
0 files changed, 0 insertions, 0 deletions
