Skip to content
Snippets Groups Projects
Commit f4c12f11 authored by Austin Clements's avatar Austin Clements
Browse files

Add the test we used in lecture to creash the IDE system when the

locks were moved around.
parent d6cd7d08
No related branches found
No related tags found
No related merge requests found
......@@ -107,6 +107,7 @@ UPROGS=\
_mkdir\
_rm\
_sh\
_stressfs\
_usertests\
_wc\
_zombie\
......
// Demonstrate that moving the "acquire" in iderw after the loop that
// appends to the idequeue results in a race.
// For this to work, you should also add a spin within iderw's
// idequeue traversal loop. Spinning 40000 times demonstrated the bug
// after about 5 runs of stressfs in QEMU on a 2.1GHz CPU.
#include "types.h"
#include "stat.h"
#include "user.h"
#include "fs.h"
#include "fcntl.h"
int
main(int argc, char *argv[])
{
int i;
printf(1, "stressfs starting\n");
for (i = 0; i < 4; i++) {
if (fork() > 0) {
break;
}
}
printf(1, "%d\n", i);
char path[] = "stressfs0";
path[8] += i;
int fd = open(path, O_CREATE | O_RDWR);
for (i = 0; i < 100; i++)
printf(fd, "%d\n", i);
close(fd);
wait();
exit();
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment