Re: [PATCH 0/3] zone-append support in aio and io-uring

From: Matias BjÃrling
Date: Thu Jun 18 2020 - 04:46:53 EST


On 18/06/2020 10.39, Javier GonzÃlez wrote:
On 18.06.2020 10:32, Matias BjÃrling wrote:
On 18/06/2020 10.27, Javier GonzÃlez wrote:
On 18.06.2020 10:04, Matias BjÃrling wrote:
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.

Good point. We are posting a RFC with fio support for append. We wanted
to start the conversation here before.

We can post a fork for improve the reviews in V2.

Christoph's response points that it is not exactly clear how this matches with the POSIX API.

Yes. We will address this.

fio support is great - but I was thinking along the lines of applications that not only benchmark performance. fio should be part of the supported applications, but should not be the sole reason the API is added.

Agree. It is a process with different steps. We definitely want to have
the right kernel interface before pushing any changes to libraries and /
or applications. These will come as the interface becomes more stable.

To start with xNVMe will be leveraging this new path. A number of
customers are leveraging the xNVMe API for their applications already.

Heh, let me be even more specific - open-source applications, that is outside of fio (or any other benchmarking application), and libraries that acts as a mediator between two APIs.