On Tue, Jun 28, 2022 at 11:18:34PM -0400, Eric Farman wrote: > Sort of. In the working case, I see a set of iovecs come through with > different counts: > > base count > 0000 0001 > 0000 0200 > 0000 0400 > 0000 0800 > 0000 1000 > 0001 1000 > 0200 1000 << Change occurs here > 0400 1000 > 0800 1000 > 1000 1000 > > EINVAL was being returned for any of these iovecs except the page- > aligned ones. Once the x200 request returns 0, the remainder of the > above list was skipped and the requests continue elsewhere on the file. > > Still not sure how our request is getting us into this process. We're > simply asking to read a single block, but that's somewhere within an > image file. I thought this was sounding like some kind of corruption. I tested ext4 on various qemu devices with 4k logical block sizes, and it all looks okay there. What block driver are you observing this with?