On 3/21/24 4:09 PM, Christoph Hellwig wrote: > On Thu, Mar 21, 2024 at 11:09:25AM -0600, Jens Axboe wrote: >> Where is this IO coming from? The normal block level dio has checks. And >> in fact they are expensive... > > How is this expensive when we need the bio cache lines all the time > during I/O submission which follows instantly? This part isn't expensive, it's the general dio checks that are which check memory alignment as well. >> If we add this one, then we should be able >> to kill the block/fops.c checks, no? > > That would mean we'd only get an async error back, and it would be past > say page cache invalidation. Not sure that's a good way to handle > failed alignment from userspace. It would fail during submission, at least for sane cases, so it would be readily apparent after submit. Unfortunately we still don't have sane passback of errors there, this is one example and EWOULDBLOCK as well. -- Jens Axboe