On Thu, Jun 18, 2020 at 10:04:32AM +0200, Matias BjÃrling wrote:Yep, please see Christoph's comment regarding adding the support to zonefs.
On 17/06/2020 19.23, Kanchan Joshi wrote:
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
Please provide a pointers to applications that are updated and ready to take advantage of zone append.
I do not believe it's beneficial at this point to change the libaio API, applications that would want to use this API, should anyway switch to use io_uring.
Please also note that applications and libraries that want to take advantage of zone append, can already use the zonefs file-system, as it will use the zone append command when applicable.
AFAIK, zonefs uses append while serving synchronous I/O. And append bio
is waited upon synchronously. That maybe serving some purpose I do
not know currently. But it seems applications using zonefs file
abstraction will get benefitted if they could use the append themselves to
carry the I/O, asynchronously.