mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
fsstress: add the [-l loops] option
This feature is in the ltp version of fsstress; port it into xfstests. Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
committed by
Dave Chinner
parent
78bbab93d8
commit
cf67ba1e32
+13
-4
@@ -330,7 +330,8 @@ int main(int argc, char **argv)
|
|||||||
int nousage = 0;
|
int nousage = 0;
|
||||||
xfs_error_injection_t err_inj;
|
xfs_error_injection_t err_inj;
|
||||||
struct sigaction action;
|
struct sigaction action;
|
||||||
const char *allopts = "d:e:f:i:m:M:n:o:p:rs:S:vVwx:X:zH";
|
int loops = 1;
|
||||||
|
const char *allopts = "d:e:f:i:l:m:M:n:o:p:rs:S:vVwx:X:zH";
|
||||||
|
|
||||||
errrange = errtag = 0;
|
errrange = errtag = 0;
|
||||||
umask(0);
|
umask(0);
|
||||||
@@ -372,6 +373,9 @@ int main(int argc, char **argv)
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 'l':
|
||||||
|
loops = atoi(optarg);
|
||||||
|
break;
|
||||||
case 'n':
|
case 'n':
|
||||||
operations = atoi(optarg);
|
operations = atoi(optarg);
|
||||||
break;
|
break;
|
||||||
@@ -538,7 +542,8 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
procid = i;
|
procid = i;
|
||||||
doproc();
|
for (i = 0; !loops || (i < loops); i++)
|
||||||
|
doproc();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -896,10 +901,12 @@ doproc(void)
|
|||||||
rval = stat64(".", &statbuf);
|
rval = stat64(".", &statbuf);
|
||||||
if (rval == EIO) {
|
if (rval == EIO) {
|
||||||
fprintf(stderr, "Detected EIO\n");
|
fprintf(stderr, "Detected EIO\n");
|
||||||
return;
|
goto errout;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
errout:
|
||||||
|
chdir("..");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1572,7 +1579,7 @@ void
|
|||||||
usage(void)
|
usage(void)
|
||||||
{
|
{
|
||||||
printf("Usage: %s -H or\n", myprog);
|
printf("Usage: %s -H or\n", myprog);
|
||||||
printf(" %s [-d dir][-e errtg][-f op_name=freq][-n nops]\n",
|
printf(" %s [-d dir][-e errtg][-f op_name=freq][-l loops][-n nops]\n",
|
||||||
myprog);
|
myprog);
|
||||||
printf(" [-p nproc][-r len][-s seed][-v][-w][-x cmd][-z][-S][-X ncmd]\n");
|
printf(" [-p nproc][-r len][-s seed][-v][-w][-x cmd][-z][-S][-X ncmd]\n");
|
||||||
printf("where\n");
|
printf("where\n");
|
||||||
@@ -1582,6 +1589,8 @@ usage(void)
|
|||||||
printf(" the valid operation names are:\n");
|
printf(" the valid operation names are:\n");
|
||||||
show_ops(-1, " ");
|
show_ops(-1, " ");
|
||||||
printf(" -i filenum get verbose output for this nth file object\n");
|
printf(" -i filenum get verbose output for this nth file object\n");
|
||||||
|
printf(" -l loops specifies the no. of times the testrun should loop.\n");
|
||||||
|
printf(" *use 0 for infinite (default 1)\n");
|
||||||
printf(" -m modulo uid/gid modulo for chown/chgrp (default 32)\n");
|
printf(" -m modulo uid/gid modulo for chown/chgrp (default 32)\n");
|
||||||
printf(" -n nops specifies the no. of operations per process (default 1)\n");
|
printf(" -n nops specifies the no. of operations per process (default 1)\n");
|
||||||
printf(" -o logfile specifies logfile name\n");
|
printf(" -o logfile specifies logfile name\n");
|
||||||
|
|||||||
Reference in New Issue
Block a user