Thread (40 messages) 40 messages, 8 authors, 2020-06-21

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

From: Damien Le Moal <hidden>
Date: 2020-06-19 01:03:41
Also in: io-uring, linux-fsdevel, lkml

On 2020/06/19 5:04, Matias Bjørling wrote:
On 18/06/2020 21.21, Kanchan Joshi wrote:
quoted
On Thu, Jun 18, 2020 at 10:04:32AM +0200, Matias Bjørling wrote:
quoted
On 17/06/2020 19.23, Kanchan Joshi wrote:
quoted
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.
Yep, please see Christoph's comment regarding adding the support to zonefs.
For the asynchronous processing of zone append in zonefs, we need to add
plumbing in the iomap code first. Since this is missing currently, zonefs can
only do synchronous/blocking zone append for now. Will be working on that, if we
can come up with a semantic that makes sense for posix system calls. zonefs is
not a posix compliant file system, so we are not strongly tied by posix
specifications. But we still want to make it as easy as possible to understand
and use by the user.


-- 
Damien Le Moal
Western Digital Research
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help