X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=quick-test.c;h=b1e7999d6546866085cb7fd6c8c79ffffd92a897;hb=6e43cc2e97aee62dec65c073143e38f3f8cafae8;hp=351c706196aa0369e79868d5a77113624b0a257a;hpb=50e571e5b7ff95c94803c9668a8550ed68571db5;p=platform%2Fupstream%2Fbtrfs-progs.git diff --git a/quick-test.c b/quick-test.c index 351c706..b1e7999 100644 --- a/quick-test.c +++ b/quick-test.c @@ -27,7 +27,7 @@ #include "transaction.h" /* for testing only */ -int next_key(int i, int max_key) { +static int next_key(int i, int max_key) { return rand() % max_key; // return i; } @@ -46,15 +46,19 @@ int main(int ac, char **av) { struct btrfs_root *root; struct btrfs_trans_handle *trans; - buf = malloc(512); - memset(buf, 0, 512); + buf = calloc(1, 512); radix_tree_init(); - root = open_ctree(av[1], BTRFS_SUPER_INFO_OFFSET, O_RDWR); + root = open_ctree(av[1], BTRFS_SUPER_INFO_OFFSET, OPEN_CTREE_WRITES); + if (!root) { + fprintf(stderr, "Open ctree failed\n"); + exit(1); + } trans = btrfs_start_transaction(root, 1); + BUG_ON(IS_ERR(trans)); srand(55); - btrfs_set_key_type(&ins, BTRFS_STRING_ITEM_KEY); + ins.type = BTRFS_STRING_ITEM_KEY; for (i = 0; i < run_size; i++) { num = next_key(i, max_key); // num = i; @@ -69,12 +73,17 @@ int main(int ac, char **av) { if (i == run_size - 5) { btrfs_commit_transaction(trans, root); trans = btrfs_start_transaction(root, 1); + BUG_ON(IS_ERR(trans)); } } btrfs_commit_transaction(trans, root); close_ctree(root); exit(1); - root = open_ctree(av[1], BTRFS_SUPER_INFO_OFFSET, O_RDWR); + root = open_ctree(av[1], BTRFS_SUPER_INFO_OFFSET, OPEN_CTREE_WRITES); + if (!root) { + fprintf(stderr, "Open ctree failed\n"); + exit(1); + } printf("starting search\n"); srand(55); for (i = 0; i < run_size; i++) { @@ -85,15 +94,19 @@ int main(int ac, char **av) { fprintf(stderr, "search %d:%d\n", num, i); ret = btrfs_search_slot(NULL, root, &ins, &path, 0, 0); if (ret) { - btrfs_print_tree(root, root->node); + btrfs_print_tree(root, root->node, 1); printf("unable to find %d\n", num); exit(1); } - btrfs_release_path(root, &path); + btrfs_release_path(&path); } close_ctree(root); - root = open_ctree(av[1], BTRFS_SUPER_INFO_OFFSET, O_RDWR); + root = open_ctree(av[1], BTRFS_SUPER_INFO_OFFSET, OPEN_CTREE_WRITES); + if (!root) { + fprintf(stderr, "Open ctree failed\n"); + exit(1); + } printf("node %p level %d total ptrs %d free spc %lu\n", root->node, btrfs_header_level(root->node), btrfs_header_nritems(root->node), @@ -103,6 +116,7 @@ int main(int ac, char **av) { i = 0; srand(55); trans = btrfs_start_transaction(root, 1); + BUG_ON(IS_ERR(trans)); for (i = 0 ; i < run_size/4; i++) { num = next_key(i, max_key); ins.objectid = num; @@ -116,13 +130,18 @@ int main(int ac, char **av) { BUG(); tree_size--; } - btrfs_release_path(root, &path); + btrfs_release_path(&path); } btrfs_commit_transaction(trans, root); close_ctree(root); - root = open_ctree(av[1], BTRFS_SUPER_INFO_OFFSET, O_RDWR); + root = open_ctree(av[1], BTRFS_SUPER_INFO_OFFSET, OPEN_CTREE_WRITES); + if (!root) { + fprintf(stderr, "Open ctree failed\n"); + exit(1); + } trans = btrfs_start_transaction(root, 1); + BUG_ON(IS_ERR(trans)); srand(128); for (i = 0; i < run_size; i++) { num = next_key(i, max_key); @@ -137,7 +156,11 @@ int main(int ac, char **av) { btrfs_commit_transaction(trans, root); close_ctree(root); - root = open_ctree(av[1], BTRFS_SUPER_INFO_OFFSET, O_RDWR); + root = open_ctree(av[1], BTRFS_SUPER_INFO_OFFSET, OPEN_CTREE_WRITES); + if (!root) { + fprintf(stderr, "Open ctree failed\n"); + exit(1); + } srand(128); printf("starting search2\n"); for (i = 0; i < run_size; i++) { @@ -148,14 +171,15 @@ int main(int ac, char **av) { fprintf(stderr, "search %d:%d\n", num, i); ret = btrfs_search_slot(NULL, root, &ins, &path, 0, 0); if (ret) { - btrfs_print_tree(root, root->node); + btrfs_print_tree(root, root->node, 1); printf("unable to find %d\n", num); exit(1); } - btrfs_release_path(root, &path); + btrfs_release_path(&path); } printf("starting big long delete run\n"); trans = btrfs_start_transaction(root, 1); + BUG_ON(IS_ERR(trans)); while(root->node && btrfs_header_nritems(root->node) > 0) { struct extent_buffer *leaf; int slot; @@ -185,7 +209,7 @@ int main(int ac, char **av) { } tree_size--; } - btrfs_release_path(root, &path); + btrfs_release_path(&path); } /* printf("previous tree:\n"); @@ -196,7 +220,7 @@ int main(int ac, char **av) { btrfs_commit_transaction(trans, root); printf("tree size is now %d\n", tree_size); printf("root %p commit root %p\n", root->node, root->commit_root); - btrfs_print_tree(root, root->node); + btrfs_print_tree(root, root->node, 1); close_ctree(root); return 0; }