Hi, > On Fri, Jun 10, 2022 at 12:36:24PM +0800, Wang Yugui wrote: > > Hi, > > > > > On Fri, Jun 10, 2022 at 10:35:53AM +0800, Wang Yugui wrote: > > > > stat -c '%Y' report seconds as int, so the delta 2.01s may result as 3s. > > > > > > > > Signed-off-by: Wang Yugui <wangyugui@xxxxxxxxxxxx> > > > > --- > > > > tests/generic/297 | 4 ++-- > > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > > > diff --git a/tests/generic/297 b/tests/generic/297 > > > > index 6bdc3e1c..e3082202 100755 > > > > --- a/tests/generic/297 > > > > +++ b/tests/generic/297 > > > > @@ -51,7 +51,7 @@ for i in $(seq 0 $fnr); do > > > > touch $TEST_DIR/after > > > > before=$(stat -c '%Y' $TEST_DIR/before) > > > > after=$(stat -c '%Y' $TEST_DIR/after) > > > > - delta=$((after - before)) > > > > + delta=$((after - before -1)) # 2.01s may result as 3s; so -1 > > > > > > What issue is this change trying to fix? "timeout=8"s is not long enough? > > > > for the command > > $TIMEOUT_PROG -s INT ${kill_after}s > > > > delta=$((after - before )) may report 'kill_after+1' in some case. > > Yes, that's what it is supposed to report. The process is > killed 2s after the test starts, so delta is going to be kill_after > + the delay for the task to exit and the 'touch $TEST_DIR/after' > command to run. This can take a second or two, depending on how fast > the reflink operation is proceeding (e.g. waiting on IO). > > > so no relationship to "timeout=8" or "timeout=2". > > If the reflink doesn't get killed within 6s then delta will be > greater than the timeout (8) and the test fails. So if delta is 2 or > 3, then it makes no difference to the test result, right? > > > '$XFS_IO_PROG -f -c reflink' without '$TIMEOUT_PROG -s INT ${kill_after}s' > > may take 20s because this is a very complex reflink. > > Yes, and if it takes 20s (i.e. delta=20s) then it means that the > kill signal was not delivered and acted upon correctly and so the > test should fail. If we want to detect the 'timeout', a simple way it to check the return value of '$TIMEOUT_PROG ' #timeout exit with status 124. now we just fix this delta value error because of float/int. Best Regards Wang Yugui (wangyugui@xxxxxxxxxxxx) 2022/06/10