summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2007-03-02 10:06:43 -0500
committerDavid Woodhouse <dwmw2@hera.kernel.org>2007-03-02 10:06:43 -0500
commitbd530a2cff3945b4f79f591f936315b9f6d2929f (patch)
treec422682b2f1a79e91733903e3a6c32e975552309
parent11bc1cd2a565ab90f16dba2da40cba5e30128783 (diff)
period commit during initial fill in the random tester
-rw-r--r--disk-io.c3
-rw-r--r--random-test.c14
2 files changed, 12 insertions, 5 deletions
diff --git a/disk-io.c b/disk-io.c
index f7ca5362..b1a8149b 100644
--- a/disk-io.c
+++ b/disk-io.c
@@ -11,7 +11,6 @@
#include "disk-io.h"
static int allocated_blocks = 0;
-int cache_size = 0;
int cache_max = 10000;
static int check_tree_block(struct ctree_root *root, struct tree_buffer *buf)
@@ -36,7 +35,7 @@ static int free_some_buffers(struct ctree_root *root)
list_del_init(&b->cache);
tree_block_release(root, b);
if (root->cache_size < cache_max)
- return 0;
+ break;
}
}
return 0;
diff --git a/random-test.c b/random-test.c
index 22955753..53245c50 100644
--- a/random-test.c
+++ b/random-test.c
@@ -202,15 +202,23 @@ static int fill_tree(struct ctree_root *root, struct radix_tree_root *radix,
int count)
{
int i;
- int err;
int ret = 0;
for (i = 0; i < count; i++) {
ret = ins_one(root, radix);
if (ret) {
- printf("fill failed\n");
- err = ret;
+ fprintf(stderr, "fill failed\n");
goto out;
}
+ if (i % 1000 == 0) {
+ ret = commit_transaction(root);
+ if (ret) {
+ fprintf(stderr, "fill commit failed\n");
+ return ret;
+ }
+ }
+ if (i % 10000 == 0) {
+ printf("bigfill %d\n", i);
+ }
if (!keep_running)
break;
}