On 7/20/20 7:15 PM, Matthew Wilcox wrote: >> Also, the completed size should be in res in the first cqe to follow >> io_uring current interface, no ?. The second cqe would use the res64 >> field to return the written offset. Wasn't that the plan ? > > two cqes for one sqe seems like a bad idea to me. I have to agree with that, it's counter to everything else. The app will then have to wait for two CQEs when it issues that one "special" SQE, which is really iffy. And we'd have to promise that they are adjacent in the ring. This isn't necessarily a problem right now, but I've been playing with un-serialized completions and this would then become an issue. The io_uring interface is clearly defined as "any sqe will either return an error on submit (if the error is not specific to the sqe contents), or post a completion event". Not two events, one. And imho, zoned device append isn't an interesting enough use case to warrant doing something special. If there was a super strong (and generic) use case for passing back more information in the cqe then maybe it would be considered. But it'd have to be a killer application. If that's not the case, then the use case should work within the constraints of the existing API. -- Jens Axboe