On Tue, 2022-06-28 at 21:52 -0600, Keith Busch wrote: > 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? s390 dasd This made me think to change my rootfs, and of course the problem goes away once on something like a SCSI volume. So crawling through the dasd (instead of virtio) driver and I finally find the point where a change to dma_alignment (which you mentioned earlier) would actually fit. Such a change fixes this for me, so I'll run it by our DASD guys. Thanks for your help and patience. Eric