[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200619075620.GA20581@infradead.org>
Date: Fri, 19 Jun 2020 00:56:20 -0700
From: Christoph Hellwig <hch@...radead.org>
To: Kanchan Joshi <joshi.k@...sung.com>
Cc: Christoph Hellwig <hch@...radead.org>, axboe@...nel.dk,
viro@...iv.linux.org.uk, bcrl@...ck.org,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-aio@...ck.org, io-uring@...r.kernel.org,
linux-block@...r.kernel.org, selvakuma.s1@...sung.com,
nj.shetty@...sung.com, javier.gonz@...sung.com
Subject: Re: [PATCH 0/3] zone-append support in aio and io-uring
On Thu, Jun 18, 2020 at 11:22:58PM +0530, Kanchan Joshi wrote:
> I was thinking of raw block-access to zone device rather than pristine file
> abstraction.
Why?
> And in that context, semantics, at this point, are unchanged
> (i.e. same as direct writes) while flexibility of async-interface gets
> added.
> Synchronous-writes on single-zone sound fine, but synchronous-appends on
> single-zone do not sound that fine.
Where does synchronous access come into play?
> > What could be a useful addition is a way for O_APPEND/RWF_APPEND writes
> > to report where they actually wrote, as that comes close to Zone Append
> > while still making sense at our usual abstraction level for file I/O.
>
> Thanks for suggesting this. O and RWF_APPEND may not go well with block
> access as end-of-file will be picked from dev inode.
No, but they go really well with zonefs.
> But perhaps a new
> flag like RWF_ZONE_APPEND can help to transform writes (aio or uring)
> into append without introducing new opcodes.
I don't think this is a good idea. Zones are a concept for a a very
specific class of zoned devices. Trying to shoe-horn this into the
byte address files / whole device abstraction not only is ugly
conceptually but also adds the overhead for it to the VFS.
And O_APPEND that returns the written position OTOH makes total sense
at the file level as well and not just for raw zoned devices.
Powered by blists - more mailing lists