Re: bvec_iter.bi_sector -> loff_t?

Christoph Hellwig
2024-06-20T15:20:31Z

On Thu, Jun 20, 2024 at 04:15:23PM +0100, Matthew Wilcox wrote:
> >
> > and have O_DIRECT with a 32-bit memory alignment work just fine, where
> > before it would EINVAL. The sector size memory alignment thing has
> > always been odd and never rooted in anything other than "oh let's just
> > require the whole combination of size/disk offset/alignment to be sector
> > based".
>
> Oh, cool! https://man7.org/linux/man-pages/man2/open.2.html
> doesn't know about this yet; is anyone working on updating it?

Just remember that there are two kinds of alignments:

- the memory alignment, which Jens is talking about
- the offset/size alignment, which is set by the LBA size

statx (optionally) exposes both in the stx_dio_mem_align and
stx_dio_offset_align fields, which are documented in the statx(2)
man page. For network file systems like nfs there might be no
alignment requirements at all.