This patchset enables issuing zone-append using aio and io-uring direct-io interface.
For aio, this introduces opcode IOCB_CMD_ZONE_APPEND. Application uses start LBA
of the zone to issue append. On completion 'res2' field is used to return
zone-relative offset.
For io-uring, this introduces three opcodes: IORING_OP_ZONE_APPEND/APPENDV/APPENDV_FIXED.
Since io_uring does not have aio-like res2, cqe->flags are repurposed to return zone-relative offset
Kanchan Joshi (1):
aio: add support for zone-append
Selvakumar S (2):
fs,block: Introduce IOCB_ZONE_APPEND and direct-io handling
io_uring: add support for zone-append
fs/aio.c | 8 +++++
fs/block_dev.c | 19 +++++++++++-
fs/io_uring.c | 72 +++++++++++++++++++++++++++++++++++++++++--
include/linux/fs.h | 1 +
include/uapi/linux/aio_abi.h | 1 +
include/uapi/linux/io_uring.h | 8 ++++-
6 files changed, 105 insertions(+), 4 deletions(-)