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.