Here's v2 of the linked SQE patchset. For a full description of this feature, please refer to the v1 posting: https://lore.kernel.org/linux-block/20190517214131.5925-1-axboe@xxxxxxxxx/ Changes since v1 are just fixes, and nothing major at that. Some of the v1 error handling wasn't quite correct, this should be. The liburing repo contains the link-cp copy implementation using linked SQEs, and also has a test case that exercises a few of the link combinations. Patches are against my for-linus branch, but should apply to Linus master just fine as well. block/blk-core.c | 74 +++++++++- block/blk-sysfs.c | 47 ++---- block/blk.h | 1 + drivers/block/loop.c | 18 +-- fs/aio.c | 9 +- fs/block_dev.c | 25 ++-- fs/io_uring.c | 268 ++++++++++++++++++++++++++-------- fs/splice.c | 8 +- include/linux/uio.h | 4 +- include/uapi/linux/io_uring.h | 1 + lib/iov_iter.c | 15 +- net/compat.c | 3 +- net/socket.c | 3 +- 13 files changed, 329 insertions(+), 147 deletions(-) -- Jens Axboe