> On Fri, Oct 18, 2019 at 09:02:12AM +0000, misono.tomohiro@xxxxxxxxxxx wrote: > > > On Wed, Oct 16, 2019 at 07:53:47PM +0900, Misono Tomohiro wrote: > > > > This test requires fallocate keep_size. So, skip the test if a > > > > target FS does not support the function to avoid false negative. > > > > > > > > Signed-off-by: Misono Tomohiro <misono.tomohiro@xxxxxxxxxxxxxx> > > > > > > Would you please paste the false failure you've seen? I can't recall > > > I hit such failures, and I think fsx would just disable unsupported > > > operations and don't cause failure, it just prints a message to stderr, and we already redirect stderr to $seqres.full in > run_fsx in 469. > > > > Hi, I just got output mismatch error: > > > > $ cat results/generic/469.out.bad > > QA output created by 469 > > fsx --replay-ops fsxops.0 > > Seed set to 1 > > main: filesystem does not support fallocate mode FALLOC_FL_KEEP_SIZE, disabling! > > main: filesystem does not support fallocate mode FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, disabling! > > main: filesystem does not support fallocate mode FALLOC_FL_ZERO_RANGE, disabling! > > main: filesystem does not support fallocate mode FALLOC_FL_COLLAPSE_RANGE, disabling! > > main: filesystem does not support fallocate mode FALLOC_FL_INSERT_RANGE, disabling! > > main: filesystem does not support clone range, disabling! > > main: filesystem does not support dedupe range, disabling! > > fallocate: 0x0 to 0x1000 > > do_preallocate: fallocate: Operation not supported LOG DUMP (1 total > > operations): > > 1( 1 mod 256): FALLOC 0x0 thru 0x1000 (0x1000 bytes) PAST_EOF > > Log of operations saved to "/test1/469.fsx.fsxops"; replay with > > --replay-ops Correct content saved for comparison (maybe hexdump > > "/test1/469.fsx" vs "/test1/469.fsx.fsxgood") > > Ah, I recalled that I actually tried to fix this issue before, but Amir didn't like my patch back then :) > > https://spinics.net/lists/fstests/msg07953.html > > Because my patch silently ignored 'keep_size' flag when replaying operations, and look at it again, I don't like it either. > > I think we could just skip the keep_size operations instead of ignoring it. > > Would you please try this patch? > > diff --git a/ltp/fsx.c b/ltp/fsx.c > index 06d08e4e93f3..ae89bf665db4 100644 > --- a/ltp/fsx.c > +++ b/ltp/fsx.c > @@ -2044,6 +2044,9 @@ have_op: > if (!fallocate_calls) { > log4(OP_FALLOCATE, offset, size, FL_SKIPPED); > goto out; > + } else if (keep_size && !keep_size_calls) { > + log4(OP_FALLOCATE, offset, size, FL_SKIPPED | FL_KEEP_SIZE); > + goto out; > } > break; > case OP_PUNCH_HOLE: > @@ -2056,6 +2059,9 @@ have_op: > if (!zero_range_calls) { > log4(OP_ZERO_RANGE, offset, size, FL_SKIPPED); > goto out; > + } else if (keep_size && !keep_size_calls) { > + log4(OP_ZERO_RANGE, offset, size, FL_SKIPPED | FL_KEEP_SIZE); > + goto out; > } > break; > case OP_COLLAPSE_RANGE: > With this patch, 469 just succeeds on my environment (virtiofs). I'm fine with this approach: Reviewed-by: Misono Tomohiro <misono.tomohiro@xxxxxxxxxxxxxx> Thanks! > Thanks! > > Eryu > > > > Thanks. > > > > > > > > Thanks, > > > Eryu > > > > > > > --- > > > > tests/generic/469 | 1 + > > > > 1 file changed, 1 insertion(+) > > > > > > > > diff --git a/tests/generic/469 b/tests/generic/469 index > > > > 47fdf0cf..0c6f8ae5 100755 > > > > --- a/tests/generic/469 > > > > +++ b/tests/generic/469 > > > > @@ -40,6 +40,7 @@ rm -f $seqres.full _supported_fs generic > > > > _supported_os Linux _require_test > > > > +_require_xfs_io_command "falloc" "-k" > > > > > > > > run_fsx() > > > > { > > > > -- > > > > 2.21.0 > > > >