Re: [PATCH 1/2] fs: fix kiocb ki_complete interface
From: Christoph Hellwig <hch@lst.de>
Date: 2020-07-20 13:47:21
Also in:
linux-fsdevel
On Mon, Jul 20, 2020 at 01:43:43PM +0000, Damien Le Moal wrote:
On 2020/07/20 22:38, Christoph Hellwig wrote:quoted
On Mon, Jul 20, 2020 at 10:21:17PM +0900, Johannes Thumshirn wrote:quoted
From: Damien Le Moal <redacted> The res and res2 fields of struct io_event are signed 64 bits values (__s64 type). Allow the ki_complete method of struct kiocb to set 64 bits values in these fields by changin its interface from the long type to long long.Which doesn't help if the consumers can't deal with these values. But that shouldn't even be required for using zone append anyway..Not sure what you mean... res2 is used to pass back to the user the written file offset, 64bits Bytes value, for aio case (io_submit()/io_getevent()). The change does not break user interface at all, no changes needed to any system call. The patch just enables passing that 64bit byte offset. The consumer of it would be the user application, and yes, it does need to know what it is doing. But if it is using zonefs, likely, the application knows.
Please start a discussion on this ABI on the linux-aio and linux-api lists. If we support that for zonefs we should also support it for other direct I/O writes. And I'm not sure an API that only works with aio and not io_uring is going to win a lot of friends these days.