On Fri, Jul 10, 2020 at 7:13 PM Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > On Fri, Jul 10, 2020 at 06:59:45PM +0530, Kanchan Joshi wrote: > > > block doesn't work for the case of writes to files that don't have > > > to be aligned in any way. And that I think is the more broadly > > > applicable use case than zone append on block devices. > > > > But when can it happen that we do zone-append on a file (zonefs I > > asssume), and device returns a location (write-pointer essentially) > > which is not in multiple of 512b? > > All the time. You open a file with O_APPEND. You write a record to > it of any kind of size, then the next write will return the position > it got written at, which can be anything. I understand if this is about cached write and we are talking about O_APPEND in general. But for direct block I/O write and ZoneFS writes, page-cache is not used, so write(and zone-append result) will be aligned to underlying block size. Even though this patchset uses O_APPEND, it filters regular files and non zoned-block devices by using new FMODE_ZONE_APPEND flag. -- Joshi