On Thu, Nov 23, 2017 at 9:08 AM, Eryu Guan <eguan@xxxxxxxxxx> wrote: > On Sat, Nov 18, 2017 at 02:19:06PM +0800, Eryu Guan wrote: >> On start up, fsx checks for various fallocate(2) operation support >> status and disables unsupported operations. But when replaying >> operations from a log, fsx failed to skip KEEP_SIZE fallocate(2) >> calls if underlying filesystem doesn't support it. For example, >> NFSv4.2 supports fallocate(2) but not KEEP_SIZE, and this causes >> generic/469 fails on NFSv4.2. >> >> Fix it by taking 'keep_size_calls' into consideration when replaying >> ops from log file. >> >> Signed-off-by: Eryu Guan <eguan@xxxxxxxxxx> >> --- >> >> Note that generic/469 hasn't been pushed to upstream yet. Will do in >> this week's update. > > generic/469 is upstream now, still need some reviews on this patch. > I don't like the path we have taken starting with generic/456 (so partly my own blame) that the test passes instead of "not run" for fs that don't support the replayed fsx operations, because fsx skips them. Because the sub-test in question really wants to test KEEP_SIZE, IMO we should explicitly: _require_xfs_io_command "falloc" "-k" _require_xfs_io_command "fpunch" And for generic/456, we should also explicitly: _require_xfs_io_command "fpunch" _require_xfs_io_command "fzero" _require_xfs_io_command "fcollapse" Amir. -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html