Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 128259
b: refs/heads/master
c: f0930a3
h: refs/heads/master
i:
  128257: 0b86bee
  128255: ad8077d
v: v3
  • Loading branch information
Chris Mason authored and David Woodhouse committed Mar 2, 2007
1 parent f919464 commit 0987958
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 17 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ed2ff2cba766dfe7976a0113f667c9a0a50dff02
refs/heads/master: f0930a37f1c096c3a8f6a17b1e251c7fdf4d4457
15 changes: 3 additions & 12 deletions trunk/fs/btrfs/ctree.c
Original file line number Diff line number Diff line change
Expand Up @@ -1065,11 +1065,7 @@ int insert_item(struct ctree_root *root, struct key *key,
ret = search_slot(root, key, &path, data_size);
if (ret == 0) {
release_path(root, &path);
ret = -EEXIST;
wret = commit_transaction(root);
if (wret)
ret = wret;
return ret;
return -EEXIST;
}
if (ret < 0)
goto out;
Expand Down Expand Up @@ -1127,9 +1123,6 @@ int insert_item(struct ctree_root *root, struct key *key,
check_leaf(&path, 0);
out:
release_path(root, &path);
wret = commit_transaction(root);
if (wret)
ret = wret;
return ret;
}

Expand Down Expand Up @@ -1245,7 +1238,8 @@ int del_item(struct ctree_root *root, struct ctree_path *path)
wret = push_leaf_left(root, path, 1);
if (wret < 0)
ret = wret;
if (leaf->header.nritems) {
if (path->nodes[0] == leaf_buf &&
leaf->header.nritems) {
wret = push_leaf_right(root, path, 1);
if (wret < 0)
ret = wret;
Expand All @@ -1265,9 +1259,6 @@ int del_item(struct ctree_root *root, struct ctree_path *path)
}
}
}
wret = commit_transaction(root);
if (wret)
ret = wret;
return ret;
}

Expand Down
1 change: 1 addition & 0 deletions trunk/fs/btrfs/disk-io.c
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,7 @@ static int drop_cache(struct ctree_root *root)
}
int close_ctree(struct ctree_root *root)
{
commit_transaction(root);
drop_cache(root->extent_root);
drop_cache(root);
BUG_ON(!list_empty(&root->trans));
Expand Down
4 changes: 2 additions & 2 deletions trunk/fs/btrfs/extent-tree.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ static int del_pending_extents(struct ctree_root *extent_root)
key.flags = 0;
key.offset = 1;
init_path(&path);
ret = search_slot(extent_root, &key, &path, 0);
ret = search_slot(extent_root, &key, &path, -1);
if (ret) {
print_tree(extent_root, extent_root->node);
printf("unable to find %Lu\n", key.objectid);
Expand Down Expand Up @@ -83,7 +83,7 @@ int free_extent(struct ctree_root *root, u64 blocknr, u64 num_blocks)
return 0;
}
init_path(&path);
ret = search_slot(extent_root, &key, &path, 0);
ret = search_slot(extent_root, &key, &path, -1);
if (ret) {
print_tree(extent_root, extent_root->node);
printf("failed to find %Lu\n", key.objectid);
Expand Down
10 changes: 8 additions & 2 deletions trunk/fs/btrfs/random-test.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,11 @@ static int ins_one(struct ctree_root *root, struct radix_tree_root *radix)
return -1;
}

static int run_commit(struct ctree_root *root, struct radix_tree_root *radix)
{
return commit_transaction(root);
}

static int insert_dup(struct ctree_root *root, struct radix_tree_root *radix)
{
struct ctree_path path;
Expand Down Expand Up @@ -233,7 +238,8 @@ static int bulk_op(struct ctree_root *root, struct radix_tree_root *radix)


int (*ops[])(struct ctree_root *root, struct radix_tree_root *radix) =
{ ins_one, insert_dup, del_one, lookup_item, lookup_enoent, bulk_op };
{ ins_one, insert_dup, del_one, lookup_item,
lookup_enoent, bulk_op, run_commit };

static int fill_radix(struct ctree_root *root, struct radix_tree_root *radix)
{
Expand Down Expand Up @@ -366,7 +372,7 @@ int main(int ac, char **av)
err = ret;
goto out;
}
if (ops[op] == bulk_op)
if (ops[op] == bulk_op || ops[op] == run_commit)
break;
if (keep_running == 0) {
err = 0;
Expand Down

0 comments on commit 0987958

Please sign in to comment.