We have hit the error while running 089.
FSTYP -- ext3
PLATFORM -- Linux/x86_64 localhost 2.6.32-109.el6.x86_64
...
...
completed 50 iterations
completed 50 iterations
completed 50 iterations
-completed 50 iterations
completed 10000 iterations
directory entries:
t_mtab
Ran: 089
Failures: 089
Failed 1 of 1 tests
This is not very easily reproducible, however one can hit it
eventually when running 089 in the loop. The problem is apparently, that
the output might get lost, probably due to some stdio buffer weirdness.
This commit workaround the issue by adding an optional argument to the
t_mtab to specify output file. The t_mtab output is then appended to a
file which content is then printed to the stdout as it would if no
output file is used.
With this commit applied the problem is no longer reproducible.
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
seq=`basename $0`
echo "QA output created by $seq"
+mtab_output=$TEST_DIR/mtab_output
here=`pwd`
tmp=/tmp/$$
status=1 # failure is the default!
mtab()
{
- $here/src/t_mtab 50 &
- $here/src/t_mtab 50 &
- $here/src/t_mtab 50 &
+ rm -f $mtab_output
+ $here/src/t_mtab 50 $mtab_output &
+ $here/src/t_mtab 50 $mtab_output &
+ $here/src/t_mtab 50 $mtab_output &
wait
+ cat $mtab_output
$here/src/t_mtab 10000
int main(int argc, char **argv)
{
int i, stop = 100000;
+ FILE *fout = NULL;
if (argc > 1)
stop = atoi(argv[1]);
for (i = 0; i < stop; i++) {
update_mtab();
}
- printf("completed %d iterations\n", stop);
+
+ if (argc > 2)
+ fout = fopen(argv[2],"a");
+ if (!fout)
+ fout = stdout;
+ fprintf(fout, "completed %d iterations\n", stop);
return 0;
}