On Wed, 2 Feb 2011, Lukas Czerner wrote: > (v2: Get rid of the diff mambo-jambo in the commit description) > > 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. ping > > Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> > --- > 089 | 9 ++++++--- > src/t_mtab.c | 8 +++++++- > 2 files changed, 13 insertions(+), 4 deletions(-) > > diff --git a/089 b/089 > index e28e099..1714bec 100755 > --- a/089 > +++ b/089 > @@ -28,6 +28,7 @@ owner=nathans@xxxxxxx > 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! > @@ -62,10 +63,12 @@ mount > t_mtab > > 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 > > diff --git a/src/t_mtab.c b/src/t_mtab.c > index 2931887..9bca954 100644 > --- a/src/t_mtab.c > +++ b/src/t_mtab.c > @@ -263,6 +263,7 @@ update_mtab (void) > int main(int argc, char **argv) > { > int i, stop = 100000; > + FILE *fout = NULL; > > if (argc > 1) > stop = atoi(argv[1]); > @@ -270,6 +271,11 @@ int main(int argc, char **argv) > 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; > } > -- _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs