diff options
| author | Yang Xiuwei <yangxiuwei@kylinos.cn> | 2026-08-19 10:54:34 +0800 |
|---|---|---|
| committer | David Sterba <dsterba@suse.com> | 2026-10-05 16:05:43 +0200 |
| commit | b6e8add5d79d1f6f819a054c833bab452bd7365d (patch) | |
| tree | f5ed3cc5b3e6faf4e739061fee6d570c3b145fdf /tools/lib/python/kdoc/python_version.py | |
| parent | a8ea92830b3e0e163d4e829bdcb17ca83c0f951c (diff) | |
| download | linux-next-b6e8add5d79d1f6f819a054c833bab452bd7365d.tar.gz linux-next-b6e8add5d79d1f6f819a054c833bab452bd7365d.zip | |
btrfs: unlock inode and extent in caller when io_uring read extent fails
btrfs_uring_read_extent() runs only after btrfs_encoded_read() has taken
the inode shared lock and the extent lock. On failure it used to unlock
in out_fail, and a pages-array allocation failure returned -ENOMEM
without unlocking at all.
Unlock in the caller instead on all failure returns, matching the
copy_to_user() error path. The deferred -EIOCBQUEUED path still unlocks
in btrfs_uring_read_finished().
Fixes: 34310c442e17 ("btrfs: add io_uring command for encoded reads (ENCODED_READ ioctl)")
Suggested-by: Qu Wenruo <quwenruo.btrfs@gmx.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
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/python_version.py')
0 files changed, 0 insertions, 0 deletions
