On Thu, Feb 20, 2020 at 03:06:29PM -0500, Jeff Moyer wrote: > This set of patches fixes a few false positives I encountered when > testing DAX on ppc64le (which has a 64k page size). > > Patch 1 is actually not specific to non-4k page sizes. Currently, > each individual dm rc file checks for the presence of the DAX mount > option, and _notruns the test as part of the initializtion. This > doesn't work for the snapshot target. Moving the check into the > _require_dm_target fixes the problem, and keeps from the cut-n-paste > of boilerplate. > > Patches 2 and 3 get rid of hard coded block/page sizes in the tests. > They run just fine on 64k pages and 64k block sizes. > > Even after these patches, there are many more tests that fail in the > following configuration: > > MKFS_OPTIONS="-b size=65536 -m reflink=0" MOUNT_OPTIONS="-o dax" > > One class of failures is tests that create a really small file system > size. Some of those tests seem to require the very small size, but > others seem like they could live with a slightly bigger size that > would then fit the log (the typical failure is a mkfs failure due to > not enough blocks for the log). For the former case, I'm tempted to > send patches to _notrun those tests, and for the latter, I'd like to > bump the file system sizes up. 300MB seems to be large enough to > accommodate the log. Would folks be opposed to those approaches? Seems fine to me. Do we have a helper function to compute (or maybe just format) the minimum supported filesystem size for the given MKFS_OPTIONS? > Another class of failure is tests that either hard-code a block size > to trigger a specific error case, or that test a multitude of block > sizes. I'd like to send a patch to _notrun those tests if there is > a user-specified block size. That will require parsing the MKFS_OPTIONS > based on the fs type, of course. Is that something that seems > reasonable? I think it's fine to _notrun a test that requires a specific blocksize when when that blocksize is not supported by the system under test. The ones that cycle through a range of block sizes, not so much--I guess the question here is can we distinguish "test only this blocksize" vs "default to this block size"? And do we want to? --D > I will follow up with a series of patches to implement those changes > if there is consensus on the approach. These first three seemed > straight-forward to me, so that's where I'm starting. > > Changes in v2: > - patch 2: remove the boilerplate from all dm rc files (Zorro Lang) > - cc fstests (thanks, Dave) > > [PATCH V2 1/3] dax/dm: disable testing on devices that don't support > [PATCH V2 2/3] t_mmap_collision: fix hard-coded page size > [PATCH V2 3/3] xfs/300: modify test to work on any fs block size >