X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=quick-test.c;h=5da47c322bcc90ca410ed010182972eb59616ae4;hb=35a629514ee0902171a4f76cd8145af6c750b3ac;hp=fa6fd8385c2d3cd548c1104152ba1673d7571439;hpb=075587c96c2f39e227847d13ca0ef305b13cd7d3;p=platform%2Fupstream%2Fbtrfs-progs.git diff --git a/quick-test.c b/quick-test.c index fa6fd83..5da47c3 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++) { @@ -89,20 +98,25 @@ int main(int ac, char **av) { 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), - (unsigned long)BTRFS_NODEPTRS_PER_BLOCK(root) - + (unsigned long)BTRFS_NODEPTRS_PER_BLOCK(root->fs_info) - btrfs_header_nritems(root->node)); printf("all searches good, deleting some items\n"); 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++) { @@ -152,10 +175,11 @@ int main(int ac, char **av) { 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");