diff options
Diffstat (limited to 'fs/ocfs2/alloc.c')
-rw-r--r-- | fs/ocfs2/alloc.c | 48 |
1 files changed, 22 insertions, 26 deletions
diff --git a/fs/ocfs2/alloc.c b/fs/ocfs2/alloc.c index 044158bd22be..2d7f76e52c37 100644 --- a/fs/ocfs2/alloc.c +++ b/fs/ocfs2/alloc.c | |||
@@ -3370,7 +3370,7 @@ static int ocfs2_merge_rec_right(struct ocfs2_path *left_path, | |||
3370 | ret = ocfs2_get_right_path(et, left_path, &right_path); | 3370 | ret = ocfs2_get_right_path(et, left_path, &right_path); |
3371 | if (ret) { | 3371 | if (ret) { |
3372 | mlog_errno(ret); | 3372 | mlog_errno(ret); |
3373 | goto out; | 3373 | return ret; |
3374 | } | 3374 | } |
3375 | 3375 | ||
3376 | right_el = path_leaf_el(right_path); | 3376 | right_el = path_leaf_el(right_path); |
@@ -3453,8 +3453,7 @@ static int ocfs2_merge_rec_right(struct ocfs2_path *left_path, | |||
3453 | subtree_index); | 3453 | subtree_index); |
3454 | } | 3454 | } |
3455 | out: | 3455 | out: |
3456 | if (right_path) | 3456 | ocfs2_free_path(right_path); |
3457 | ocfs2_free_path(right_path); | ||
3458 | return ret; | 3457 | return ret; |
3459 | } | 3458 | } |
3460 | 3459 | ||
@@ -3536,7 +3535,7 @@ static int ocfs2_merge_rec_left(struct ocfs2_path *right_path, | |||
3536 | ret = ocfs2_get_left_path(et, right_path, &left_path); | 3535 | ret = ocfs2_get_left_path(et, right_path, &left_path); |
3537 | if (ret) { | 3536 | if (ret) { |
3538 | mlog_errno(ret); | 3537 | mlog_errno(ret); |
3539 | goto out; | 3538 | return ret; |
3540 | } | 3539 | } |
3541 | 3540 | ||
3542 | left_el = path_leaf_el(left_path); | 3541 | left_el = path_leaf_el(left_path); |
@@ -3647,8 +3646,7 @@ static int ocfs2_merge_rec_left(struct ocfs2_path *right_path, | |||
3647 | right_path, subtree_index); | 3646 | right_path, subtree_index); |
3648 | } | 3647 | } |
3649 | out: | 3648 | out: |
3650 | if (left_path) | 3649 | ocfs2_free_path(left_path); |
3651 | ocfs2_free_path(left_path); | ||
3652 | return ret; | 3650 | return ret; |
3653 | } | 3651 | } |
3654 | 3652 | ||
@@ -4334,17 +4332,17 @@ ocfs2_figure_merge_contig_type(struct ocfs2_extent_tree *et, | |||
4334 | } else if (path->p_tree_depth > 0) { | 4332 | } else if (path->p_tree_depth > 0) { |
4335 | status = ocfs2_find_cpos_for_left_leaf(sb, path, &left_cpos); | 4333 | status = ocfs2_find_cpos_for_left_leaf(sb, path, &left_cpos); |
4336 | if (status) | 4334 | if (status) |
4337 | goto out; | 4335 | goto exit; |
4338 | 4336 | ||
4339 | if (left_cpos != 0) { | 4337 | if (left_cpos != 0) { |
4340 | left_path = ocfs2_new_path_from_path(path); | 4338 | left_path = ocfs2_new_path_from_path(path); |
4341 | if (!left_path) | 4339 | if (!left_path) |
4342 | goto out; | 4340 | goto exit; |
4343 | 4341 | ||
4344 | status = ocfs2_find_path(et->et_ci, left_path, | 4342 | status = ocfs2_find_path(et->et_ci, left_path, |
4345 | left_cpos); | 4343 | left_cpos); |
4346 | if (status) | 4344 | if (status) |
4347 | goto out; | 4345 | goto free_left_path; |
4348 | 4346 | ||
4349 | new_el = path_leaf_el(left_path); | 4347 | new_el = path_leaf_el(left_path); |
4350 | 4348 | ||
@@ -4361,7 +4359,7 @@ ocfs2_figure_merge_contig_type(struct ocfs2_extent_tree *et, | |||
4361 | le16_to_cpu(new_el->l_next_free_rec), | 4359 | le16_to_cpu(new_el->l_next_free_rec), |
4362 | le16_to_cpu(new_el->l_count)); | 4360 | le16_to_cpu(new_el->l_count)); |
4363 | status = -EINVAL; | 4361 | status = -EINVAL; |
4364 | goto out; | 4362 | goto free_left_path; |
4365 | } | 4363 | } |
4366 | rec = &new_el->l_recs[ | 4364 | rec = &new_el->l_recs[ |
4367 | le16_to_cpu(new_el->l_next_free_rec) - 1]; | 4365 | le16_to_cpu(new_el->l_next_free_rec) - 1]; |
@@ -4388,18 +4386,18 @@ ocfs2_figure_merge_contig_type(struct ocfs2_extent_tree *et, | |||
4388 | path->p_tree_depth > 0) { | 4386 | path->p_tree_depth > 0) { |
4389 | status = ocfs2_find_cpos_for_right_leaf(sb, path, &right_cpos); | 4387 | status = ocfs2_find_cpos_for_right_leaf(sb, path, &right_cpos); |
4390 | if (status) | 4388 | if (status) |
4391 | goto out; | 4389 | goto free_left_path; |
4392 | 4390 | ||
4393 | if (right_cpos == 0) | 4391 | if (right_cpos == 0) |
4394 | goto out; | 4392 | goto free_left_path; |
4395 | 4393 | ||
4396 | right_path = ocfs2_new_path_from_path(path); | 4394 | right_path = ocfs2_new_path_from_path(path); |
4397 | if (!right_path) | 4395 | if (!right_path) |
4398 | goto out; | 4396 | goto free_left_path; |
4399 | 4397 | ||
4400 | status = ocfs2_find_path(et->et_ci, right_path, right_cpos); | 4398 | status = ocfs2_find_path(et->et_ci, right_path, right_cpos); |
4401 | if (status) | 4399 | if (status) |
4402 | goto out; | 4400 | goto free_right_path; |
4403 | 4401 | ||
4404 | new_el = path_leaf_el(right_path); | 4402 | new_el = path_leaf_el(right_path); |
4405 | rec = &new_el->l_recs[0]; | 4403 | rec = &new_el->l_recs[0]; |
@@ -4413,7 +4411,7 @@ ocfs2_figure_merge_contig_type(struct ocfs2_extent_tree *et, | |||
4413 | (unsigned long long)le64_to_cpu(eb->h_blkno), | 4411 | (unsigned long long)le64_to_cpu(eb->h_blkno), |
4414 | le16_to_cpu(new_el->l_next_free_rec)); | 4412 | le16_to_cpu(new_el->l_next_free_rec)); |
4415 | status = -EINVAL; | 4413 | status = -EINVAL; |
4416 | goto out; | 4414 | goto free_right_path; |
4417 | } | 4415 | } |
4418 | rec = &new_el->l_recs[1]; | 4416 | rec = &new_el->l_recs[1]; |
4419 | } | 4417 | } |
@@ -4430,12 +4428,11 @@ ocfs2_figure_merge_contig_type(struct ocfs2_extent_tree *et, | |||
4430 | ret = contig_type; | 4428 | ret = contig_type; |
4431 | } | 4429 | } |
4432 | 4430 | ||
4433 | out: | 4431 | free_right_path: |
4434 | if (left_path) | 4432 | ocfs2_free_path(right_path); |
4435 | ocfs2_free_path(left_path); | 4433 | free_left_path: |
4436 | if (right_path) | 4434 | ocfs2_free_path(left_path); |
4437 | ocfs2_free_path(right_path); | 4435 | exit: |
4438 | |||
4439 | return ret; | 4436 | return ret; |
4440 | } | 4437 | } |
4441 | 4438 | ||
@@ -6858,13 +6855,13 @@ int ocfs2_convert_inline_data_to_extents(struct inode *inode, | |||
6858 | if (pages == NULL) { | 6855 | if (pages == NULL) { |
6859 | ret = -ENOMEM; | 6856 | ret = -ENOMEM; |
6860 | mlog_errno(ret); | 6857 | mlog_errno(ret); |
6861 | goto out; | 6858 | return ret; |
6862 | } | 6859 | } |
6863 | 6860 | ||
6864 | ret = ocfs2_reserve_clusters(osb, 1, &data_ac); | 6861 | ret = ocfs2_reserve_clusters(osb, 1, &data_ac); |
6865 | if (ret) { | 6862 | if (ret) { |
6866 | mlog_errno(ret); | 6863 | mlog_errno(ret); |
6867 | goto out; | 6864 | goto free_pages; |
6868 | } | 6865 | } |
6869 | } | 6866 | } |
6870 | 6867 | ||
@@ -6996,9 +6993,8 @@ out_commit: | |||
6996 | out: | 6993 | out: |
6997 | if (data_ac) | 6994 | if (data_ac) |
6998 | ocfs2_free_alloc_context(data_ac); | 6995 | ocfs2_free_alloc_context(data_ac); |
6999 | if (pages) | 6996 | free_pages: |
7000 | kfree(pages); | 6997 | kfree(pages); |
7001 | |||
7002 | return ret; | 6998 | return ret; |
7003 | } | 6999 | } |
7004 | 7000 | ||