This patch series adds io_uring support for btrfs encoded reads, complementing the ioctl we already have. The first few patches refactor the ioctl code so that the bio wait is moved to the outer function, and so that we can share as much code as possible between the two interfaces. Mark Harmstone (6): btrfs: remove iocb from btrfs_encoded_read btrfs: store encoded read state in struct btrfs_encoded_read_private btrfs: add btrfs_encoded_read_finish btrfs: add btrfs_prepare_encoded_read btrfs: move wait out of btrfs_encoded_read btrfs: add io_uring interface for encoded reads fs/btrfs/btrfs_inode.h | 23 +++- fs/btrfs/file.c | 1 + fs/btrfs/inode.c | 292 ++++++++++++++++++++++++----------------- fs/btrfs/ioctl.c | 194 +++++++++++++++++++-------- fs/btrfs/ioctl.h | 3 + 5 files changed, 337 insertions(+), 176 deletions(-) -- 2.44.2