On Mon, Apr 07, 2025 at 04:30:07PM -0700, Darrick J. Wong wrote: > Hey Christoph, > > I have a ... weird test setup where loop devices have directio enabled > unconditionally on a system with 4k-lba disks, and now that I pulled > down 6.15-rc1, I see failures in xfs/259: Hmm, this works just fine for with a 4k LBA size NVMe setup on -rc1 with latest xfsprogs and xfstests for-next. > Then trying to format an XFS filesystem fails: That on the other hand I can reproduce locally. > I think there's a bug in the loop driver where changing > LO_FLAGS_DIRECT_IO doesn't actually try to change the O_DIRECT state of > the underlying lo->lo_backing_file->f_flags. So I can try to set a 2k > block size on the loop dev, which turns off LO_FLAGS_DIRECT_IO but the > fd is still open O_DIRECT so the writes fail. But this isn't a > regression in -rc1, so maybe this is the expected behavior? This does look old, but also I would not call it expected. > On 6.15-rc1, you actually /can/ change the sector size: > But the backing file still has O_DIRECT on, so formatting fails: Looks like the fact that fixing the silent failure to change the sector size exposed the not clear O_DIRECT bug.. I'll cook up a patch to clear O_DIRECT. > Thoughts? > > --D > > (/me notes that xfs/801 is failing across the board, and I don't know > what changed about THPs in tmpfs but clearly something's corrupting > memory.) That one always failed for me because it uses a sysfs-dump tool that simply doesn't seem to exist.