diff options
Diffstat (limited to 'fs/ocfs2/alloc.c')
-rw-r--r-- | fs/ocfs2/alloc.c | 216 |
1 files changed, 93 insertions, 123 deletions
diff --git a/fs/ocfs2/alloc.c b/fs/ocfs2/alloc.c index e4984e259cb6..48aa9c7401c7 100644 --- a/fs/ocfs2/alloc.c +++ b/fs/ocfs2/alloc.c | |||
@@ -30,7 +30,6 @@ | |||
30 | #include <linux/swap.h> | 30 | #include <linux/swap.h> |
31 | #include <linux/quotaops.h> | 31 | #include <linux/quotaops.h> |
32 | 32 | ||
33 | #define MLOG_MASK_PREFIX ML_DISK_ALLOC | ||
34 | #include <cluster/masklog.h> | 33 | #include <cluster/masklog.h> |
35 | 34 | ||
36 | #include "ocfs2.h" | 35 | #include "ocfs2.h" |
@@ -50,6 +49,7 @@ | |||
50 | #include "uptodate.h" | 49 | #include "uptodate.h" |
51 | #include "xattr.h" | 50 | #include "xattr.h" |
52 | #include "refcounttree.h" | 51 | #include "refcounttree.h" |
52 | #include "ocfs2_trace.h" | ||
53 | 53 | ||
54 | #include "buffer_head_io.h" | 54 | #include "buffer_head_io.h" |
55 | 55 | ||
@@ -886,8 +886,7 @@ static int ocfs2_validate_extent_block(struct super_block *sb, | |||
886 | struct ocfs2_extent_block *eb = | 886 | struct ocfs2_extent_block *eb = |
887 | (struct ocfs2_extent_block *)bh->b_data; | 887 | (struct ocfs2_extent_block *)bh->b_data; |
888 | 888 | ||
889 | mlog(0, "Validating extent block %llu\n", | 889 | trace_ocfs2_validate_extent_block((unsigned long long)bh->b_blocknr); |
890 | (unsigned long long)bh->b_blocknr); | ||
891 | 890 | ||
892 | BUG_ON(!buffer_uptodate(bh)); | 891 | BUG_ON(!buffer_uptodate(bh)); |
893 | 892 | ||
@@ -965,8 +964,6 @@ int ocfs2_num_free_extents(struct ocfs2_super *osb, | |||
965 | struct buffer_head *eb_bh = NULL; | 964 | struct buffer_head *eb_bh = NULL; |
966 | u64 last_eb_blk = 0; | 965 | u64 last_eb_blk = 0; |
967 | 966 | ||
968 | mlog_entry_void(); | ||
969 | |||
970 | el = et->et_root_el; | 967 | el = et->et_root_el; |
971 | last_eb_blk = ocfs2_et_get_last_eb_blk(et); | 968 | last_eb_blk = ocfs2_et_get_last_eb_blk(et); |
972 | 969 | ||
@@ -987,7 +984,7 @@ int ocfs2_num_free_extents(struct ocfs2_super *osb, | |||
987 | bail: | 984 | bail: |
988 | brelse(eb_bh); | 985 | brelse(eb_bh); |
989 | 986 | ||
990 | mlog_exit(retval); | 987 | trace_ocfs2_num_free_extents(retval); |
991 | return retval; | 988 | return retval; |
992 | } | 989 | } |
993 | 990 | ||
@@ -1010,8 +1007,6 @@ static int ocfs2_create_new_meta_bhs(handle_t *handle, | |||
1010 | OCFS2_SB(ocfs2_metadata_cache_get_super(et->et_ci)); | 1007 | OCFS2_SB(ocfs2_metadata_cache_get_super(et->et_ci)); |
1011 | struct ocfs2_extent_block *eb; | 1008 | struct ocfs2_extent_block *eb; |
1012 | 1009 | ||
1013 | mlog_entry_void(); | ||
1014 | |||
1015 | count = 0; | 1010 | count = 0; |
1016 | while (count < wanted) { | 1011 | while (count < wanted) { |
1017 | status = ocfs2_claim_metadata(handle, | 1012 | status = ocfs2_claim_metadata(handle, |
@@ -1074,8 +1069,8 @@ bail: | |||
1074 | brelse(bhs[i]); | 1069 | brelse(bhs[i]); |
1075 | bhs[i] = NULL; | 1070 | bhs[i] = NULL; |
1076 | } | 1071 | } |
1072 | mlog_errno(status); | ||
1077 | } | 1073 | } |
1078 | mlog_exit(status); | ||
1079 | return status; | 1074 | return status; |
1080 | } | 1075 | } |
1081 | 1076 | ||
@@ -1173,8 +1168,6 @@ static int ocfs2_add_branch(handle_t *handle, | |||
1173 | struct ocfs2_extent_list *el; | 1168 | struct ocfs2_extent_list *el; |
1174 | u32 new_cpos, root_end; | 1169 | u32 new_cpos, root_end; |
1175 | 1170 | ||
1176 | mlog_entry_void(); | ||
1177 | |||
1178 | BUG_ON(!last_eb_bh || !*last_eb_bh); | 1171 | BUG_ON(!last_eb_bh || !*last_eb_bh); |
1179 | 1172 | ||
1180 | if (eb_bh) { | 1173 | if (eb_bh) { |
@@ -1200,8 +1193,11 @@ static int ocfs2_add_branch(handle_t *handle, | |||
1200 | * from new_cpos). | 1193 | * from new_cpos). |
1201 | */ | 1194 | */ |
1202 | if (root_end > new_cpos) { | 1195 | if (root_end > new_cpos) { |
1203 | mlog(0, "adjust the cluster end from %u to %u\n", | 1196 | trace_ocfs2_adjust_rightmost_branch( |
1204 | root_end, new_cpos); | 1197 | (unsigned long long) |
1198 | ocfs2_metadata_cache_owner(et->et_ci), | ||
1199 | root_end, new_cpos); | ||
1200 | |||
1205 | status = ocfs2_adjust_rightmost_branch(handle, et); | 1201 | status = ocfs2_adjust_rightmost_branch(handle, et); |
1206 | if (status) { | 1202 | if (status) { |
1207 | mlog_errno(status); | 1203 | mlog_errno(status); |
@@ -1332,7 +1328,6 @@ bail: | |||
1332 | kfree(new_eb_bhs); | 1328 | kfree(new_eb_bhs); |
1333 | } | 1329 | } |
1334 | 1330 | ||
1335 | mlog_exit(status); | ||
1336 | return status; | 1331 | return status; |
1337 | } | 1332 | } |
1338 | 1333 | ||
@@ -1353,8 +1348,6 @@ static int ocfs2_shift_tree_depth(handle_t *handle, | |||
1353 | struct ocfs2_extent_list *root_el; | 1348 | struct ocfs2_extent_list *root_el; |
1354 | struct ocfs2_extent_list *eb_el; | 1349 | struct ocfs2_extent_list *eb_el; |
1355 | 1350 | ||
1356 | mlog_entry_void(); | ||
1357 | |||
1358 | status = ocfs2_create_new_meta_bhs(handle, et, 1, meta_ac, | 1351 | status = ocfs2_create_new_meta_bhs(handle, et, 1, meta_ac, |
1359 | &new_eb_bh); | 1352 | &new_eb_bh); |
1360 | if (status < 0) { | 1353 | if (status < 0) { |
@@ -1415,7 +1408,6 @@ static int ocfs2_shift_tree_depth(handle_t *handle, | |||
1415 | bail: | 1408 | bail: |
1416 | brelse(new_eb_bh); | 1409 | brelse(new_eb_bh); |
1417 | 1410 | ||
1418 | mlog_exit(status); | ||
1419 | return status; | 1411 | return status; |
1420 | } | 1412 | } |
1421 | 1413 | ||
@@ -1446,8 +1438,6 @@ static int ocfs2_find_branch_target(struct ocfs2_extent_tree *et, | |||
1446 | struct buffer_head *bh = NULL; | 1438 | struct buffer_head *bh = NULL; |
1447 | struct buffer_head *lowest_bh = NULL; | 1439 | struct buffer_head *lowest_bh = NULL; |
1448 | 1440 | ||
1449 | mlog_entry_void(); | ||
1450 | |||
1451 | *target_bh = NULL; | 1441 | *target_bh = NULL; |
1452 | 1442 | ||
1453 | el = et->et_root_el; | 1443 | el = et->et_root_el; |
@@ -1503,7 +1493,6 @@ static int ocfs2_find_branch_target(struct ocfs2_extent_tree *et, | |||
1503 | bail: | 1493 | bail: |
1504 | brelse(bh); | 1494 | brelse(bh); |
1505 | 1495 | ||
1506 | mlog_exit(status); | ||
1507 | return status; | 1496 | return status; |
1508 | } | 1497 | } |
1509 | 1498 | ||
@@ -1540,7 +1529,10 @@ static int ocfs2_grow_tree(handle_t *handle, struct ocfs2_extent_tree *et, | |||
1540 | * another tree level */ | 1529 | * another tree level */ |
1541 | if (shift) { | 1530 | if (shift) { |
1542 | BUG_ON(bh); | 1531 | BUG_ON(bh); |
1543 | mlog(0, "need to shift tree depth (current = %d)\n", depth); | 1532 | trace_ocfs2_grow_tree( |
1533 | (unsigned long long) | ||
1534 | ocfs2_metadata_cache_owner(et->et_ci), | ||
1535 | depth); | ||
1544 | 1536 | ||
1545 | /* ocfs2_shift_tree_depth will return us a buffer with | 1537 | /* ocfs2_shift_tree_depth will return us a buffer with |
1546 | * the new extent block (so we can pass that to | 1538 | * the new extent block (so we can pass that to |
@@ -1570,7 +1562,6 @@ static int ocfs2_grow_tree(handle_t *handle, struct ocfs2_extent_tree *et, | |||
1570 | 1562 | ||
1571 | /* call ocfs2_add_branch to add the final part of the tree with | 1563 | /* call ocfs2_add_branch to add the final part of the tree with |
1572 | * the new data. */ | 1564 | * the new data. */ |
1573 | mlog(0, "add branch. bh = %p\n", bh); | ||
1574 | ret = ocfs2_add_branch(handle, et, bh, last_eb_bh, | 1565 | ret = ocfs2_add_branch(handle, et, bh, last_eb_bh, |
1575 | meta_ac); | 1566 | meta_ac); |
1576 | if (ret < 0) { | 1567 | if (ret < 0) { |
@@ -1645,8 +1636,9 @@ static void ocfs2_rotate_leaf(struct ocfs2_extent_list *el, | |||
1645 | } | 1636 | } |
1646 | insert_index = i; | 1637 | insert_index = i; |
1647 | 1638 | ||
1648 | mlog(0, "ins %u: index %d, has_empty %d, next_free %d, count %d\n", | 1639 | trace_ocfs2_rotate_leaf(insert_cpos, insert_index, |
1649 | insert_cpos, insert_index, has_empty, next_free, le16_to_cpu(el->l_count)); | 1640 | has_empty, next_free, |
1641 | le16_to_cpu(el->l_count)); | ||
1650 | 1642 | ||
1651 | BUG_ON(insert_index < 0); | 1643 | BUG_ON(insert_index < 0); |
1652 | BUG_ON(insert_index >= le16_to_cpu(el->l_count)); | 1644 | BUG_ON(insert_index >= le16_to_cpu(el->l_count)); |
@@ -2059,7 +2051,7 @@ static void ocfs2_complete_edge_insert(handle_t *handle, | |||
2059 | left_el = path_leaf_el(left_path); | 2051 | left_el = path_leaf_el(left_path); |
2060 | right_el = path_leaf_el(right_path); | 2052 | right_el = path_leaf_el(right_path); |
2061 | for(i = left_path->p_tree_depth - 1; i > subtree_index; i--) { | 2053 | for(i = left_path->p_tree_depth - 1; i > subtree_index; i--) { |
2062 | mlog(0, "Adjust records at index %u\n", i); | 2054 | trace_ocfs2_complete_edge_insert(i); |
2063 | 2055 | ||
2064 | /* | 2056 | /* |
2065 | * One nice property of knowing that all of these | 2057 | * One nice property of knowing that all of these |
@@ -2389,7 +2381,9 @@ static int ocfs2_rotate_tree_right(handle_t *handle, | |||
2389 | goto out; | 2381 | goto out; |
2390 | } | 2382 | } |
2391 | 2383 | ||
2392 | mlog(0, "Insert: %u, first left path cpos: %u\n", insert_cpos, cpos); | 2384 | trace_ocfs2_rotate_tree_right( |
2385 | (unsigned long long)ocfs2_metadata_cache_owner(et->et_ci), | ||
2386 | insert_cpos, cpos); | ||
2393 | 2387 | ||
2394 | /* | 2388 | /* |
2395 | * What we want to do here is: | 2389 | * What we want to do here is: |
@@ -2418,8 +2412,10 @@ static int ocfs2_rotate_tree_right(handle_t *handle, | |||
2418 | * rotating subtrees. | 2412 | * rotating subtrees. |
2419 | */ | 2413 | */ |
2420 | while (cpos && insert_cpos <= cpos) { | 2414 | while (cpos && insert_cpos <= cpos) { |
2421 | mlog(0, "Rotating a tree: ins. cpos: %u, left path cpos: %u\n", | 2415 | trace_ocfs2_rotate_tree_right( |
2422 | insert_cpos, cpos); | 2416 | (unsigned long long) |
2417 | ocfs2_metadata_cache_owner(et->et_ci), | ||
2418 | insert_cpos, cpos); | ||
2423 | 2419 | ||
2424 | ret = ocfs2_find_path(et->et_ci, left_path, cpos); | 2420 | ret = ocfs2_find_path(et->et_ci, left_path, cpos); |
2425 | if (ret) { | 2421 | if (ret) { |
@@ -2461,10 +2457,10 @@ static int ocfs2_rotate_tree_right(handle_t *handle, | |||
2461 | 2457 | ||
2462 | start = ocfs2_find_subtree_root(et, left_path, right_path); | 2458 | start = ocfs2_find_subtree_root(et, left_path, right_path); |
2463 | 2459 | ||
2464 | mlog(0, "Subtree root at index %d (blk %llu, depth %d)\n", | 2460 | trace_ocfs2_rotate_subtree(start, |
2465 | start, | 2461 | (unsigned long long) |
2466 | (unsigned long long) right_path->p_node[start].bh->b_blocknr, | 2462 | right_path->p_node[start].bh->b_blocknr, |
2467 | right_path->p_tree_depth); | 2463 | right_path->p_tree_depth); |
2468 | 2464 | ||
2469 | ret = ocfs2_extend_rotate_transaction(handle, start, | 2465 | ret = ocfs2_extend_rotate_transaction(handle, start, |
2470 | orig_credits, right_path); | 2466 | orig_credits, right_path); |
@@ -2964,8 +2960,7 @@ static int __ocfs2_rotate_tree_left(handle_t *handle, | |||
2964 | subtree_root = ocfs2_find_subtree_root(et, left_path, | 2960 | subtree_root = ocfs2_find_subtree_root(et, left_path, |
2965 | right_path); | 2961 | right_path); |
2966 | 2962 | ||
2967 | mlog(0, "Subtree root at index %d (blk %llu, depth %d)\n", | 2963 | trace_ocfs2_rotate_subtree(subtree_root, |
2968 | subtree_root, | ||
2969 | (unsigned long long) | 2964 | (unsigned long long) |
2970 | right_path->p_node[subtree_root].bh->b_blocknr, | 2965 | right_path->p_node[subtree_root].bh->b_blocknr, |
2971 | right_path->p_tree_depth); | 2966 | right_path->p_tree_depth); |
@@ -3989,9 +3984,11 @@ static int ocfs2_append_rec_to_path(handle_t *handle, | |||
3989 | goto out; | 3984 | goto out; |
3990 | } | 3985 | } |
3991 | 3986 | ||
3992 | mlog(0, "Append may need a left path update. cpos: %u, " | 3987 | trace_ocfs2_append_rec_to_path( |
3993 | "left_cpos: %u\n", le32_to_cpu(insert_rec->e_cpos), | 3988 | (unsigned long long) |
3994 | left_cpos); | 3989 | ocfs2_metadata_cache_owner(et->et_ci), |
3990 | le32_to_cpu(insert_rec->e_cpos), | ||
3991 | left_cpos); | ||
3995 | 3992 | ||
3996 | /* | 3993 | /* |
3997 | * No need to worry if the append is already in the | 3994 | * No need to worry if the append is already in the |
@@ -4522,7 +4519,7 @@ set_tail_append: | |||
4522 | } | 4519 | } |
4523 | 4520 | ||
4524 | /* | 4521 | /* |
4525 | * Helper function called at the begining of an insert. | 4522 | * Helper function called at the beginning of an insert. |
4526 | * | 4523 | * |
4527 | * This computes a few things that are commonly used in the process of | 4524 | * This computes a few things that are commonly used in the process of |
4528 | * inserting into the btree: | 4525 | * inserting into the btree: |
@@ -4562,7 +4559,7 @@ static int ocfs2_figure_insert_type(struct ocfs2_extent_tree *et, | |||
4562 | ocfs2_et_get_last_eb_blk(et), | 4559 | ocfs2_et_get_last_eb_blk(et), |
4563 | &bh); | 4560 | &bh); |
4564 | if (ret) { | 4561 | if (ret) { |
4565 | mlog_exit(ret); | 4562 | mlog_errno(ret); |
4566 | goto out; | 4563 | goto out; |
4567 | } | 4564 | } |
4568 | eb = (struct ocfs2_extent_block *) bh->b_data; | 4565 | eb = (struct ocfs2_extent_block *) bh->b_data; |
@@ -4678,9 +4675,9 @@ int ocfs2_insert_extent(handle_t *handle, | |||
4678 | struct ocfs2_insert_type insert = {0, }; | 4675 | struct ocfs2_insert_type insert = {0, }; |
4679 | struct ocfs2_extent_rec rec; | 4676 | struct ocfs2_extent_rec rec; |
4680 | 4677 | ||
4681 | mlog(0, "add %u clusters at position %u to owner %llu\n", | 4678 | trace_ocfs2_insert_extent_start( |
4682 | new_clusters, cpos, | 4679 | (unsigned long long)ocfs2_metadata_cache_owner(et->et_ci), |
4683 | (unsigned long long)ocfs2_metadata_cache_owner(et->et_ci)); | 4680 | cpos, new_clusters); |
4684 | 4681 | ||
4685 | memset(&rec, 0, sizeof(rec)); | 4682 | memset(&rec, 0, sizeof(rec)); |
4686 | rec.e_cpos = cpu_to_le32(cpos); | 4683 | rec.e_cpos = cpu_to_le32(cpos); |
@@ -4700,11 +4697,9 @@ int ocfs2_insert_extent(handle_t *handle, | |||
4700 | goto bail; | 4697 | goto bail; |
4701 | } | 4698 | } |
4702 | 4699 | ||
4703 | mlog(0, "Insert.appending: %u, Insert.Contig: %u, " | 4700 | trace_ocfs2_insert_extent(insert.ins_appending, insert.ins_contig, |
4704 | "Insert.contig_index: %d, Insert.free_records: %d, " | 4701 | insert.ins_contig_index, free_records, |
4705 | "Insert.tree_depth: %d\n", | 4702 | insert.ins_tree_depth); |
4706 | insert.ins_appending, insert.ins_contig, insert.ins_contig_index, | ||
4707 | free_records, insert.ins_tree_depth); | ||
4708 | 4703 | ||
4709 | if (insert.ins_contig == CONTIG_NONE && free_records == 0) { | 4704 | if (insert.ins_contig == CONTIG_NONE && free_records == 0) { |
4710 | status = ocfs2_grow_tree(handle, et, | 4705 | status = ocfs2_grow_tree(handle, et, |
@@ -4726,7 +4721,6 @@ int ocfs2_insert_extent(handle_t *handle, | |||
4726 | bail: | 4721 | bail: |
4727 | brelse(last_eb_bh); | 4722 | brelse(last_eb_bh); |
4728 | 4723 | ||
4729 | mlog_exit(status); | ||
4730 | return status; | 4724 | return status; |
4731 | } | 4725 | } |
4732 | 4726 | ||
@@ -4746,7 +4740,7 @@ int ocfs2_add_clusters_in_btree(handle_t *handle, | |||
4746 | struct ocfs2_alloc_context *meta_ac, | 4740 | struct ocfs2_alloc_context *meta_ac, |
4747 | enum ocfs2_alloc_restarted *reason_ret) | 4741 | enum ocfs2_alloc_restarted *reason_ret) |
4748 | { | 4742 | { |
4749 | int status = 0; | 4743 | int status = 0, err = 0; |
4750 | int free_extents; | 4744 | int free_extents; |
4751 | enum ocfs2_alloc_restarted reason = RESTART_NONE; | 4745 | enum ocfs2_alloc_restarted reason = RESTART_NONE; |
4752 | u32 bit_off, num_bits; | 4746 | u32 bit_off, num_bits; |
@@ -4773,14 +4767,14 @@ int ocfs2_add_clusters_in_btree(handle_t *handle, | |||
4773 | * 2) we are so fragmented, we've needed to add metadata too | 4767 | * 2) we are so fragmented, we've needed to add metadata too |
4774 | * many times. */ | 4768 | * many times. */ |
4775 | if (!free_extents && !meta_ac) { | 4769 | if (!free_extents && !meta_ac) { |
4776 | mlog(0, "we haven't reserved any metadata!\n"); | 4770 | err = -1; |
4777 | status = -EAGAIN; | 4771 | status = -EAGAIN; |
4778 | reason = RESTART_META; | 4772 | reason = RESTART_META; |
4779 | goto leave; | 4773 | goto leave; |
4780 | } else if ((!free_extents) | 4774 | } else if ((!free_extents) |
4781 | && (ocfs2_alloc_context_bits_left(meta_ac) | 4775 | && (ocfs2_alloc_context_bits_left(meta_ac) |
4782 | < ocfs2_extend_meta_needed(et->et_root_el))) { | 4776 | < ocfs2_extend_meta_needed(et->et_root_el))) { |
4783 | mlog(0, "filesystem is really fragmented...\n"); | 4777 | err = -2; |
4784 | status = -EAGAIN; | 4778 | status = -EAGAIN; |
4785 | reason = RESTART_META; | 4779 | reason = RESTART_META; |
4786 | goto leave; | 4780 | goto leave; |
@@ -4805,9 +4799,9 @@ int ocfs2_add_clusters_in_btree(handle_t *handle, | |||
4805 | } | 4799 | } |
4806 | 4800 | ||
4807 | block = ocfs2_clusters_to_blocks(osb->sb, bit_off); | 4801 | block = ocfs2_clusters_to_blocks(osb->sb, bit_off); |
4808 | mlog(0, "Allocating %u clusters at block %u for owner %llu\n", | 4802 | trace_ocfs2_add_clusters_in_btree( |
4809 | num_bits, bit_off, | 4803 | (unsigned long long)ocfs2_metadata_cache_owner(et->et_ci), |
4810 | (unsigned long long)ocfs2_metadata_cache_owner(et->et_ci)); | 4804 | bit_off, num_bits); |
4811 | status = ocfs2_insert_extent(handle, et, *logical_offset, block, | 4805 | status = ocfs2_insert_extent(handle, et, *logical_offset, block, |
4812 | num_bits, flags, meta_ac); | 4806 | num_bits, flags, meta_ac); |
4813 | if (status < 0) { | 4807 | if (status < 0) { |
@@ -4821,16 +4815,15 @@ int ocfs2_add_clusters_in_btree(handle_t *handle, | |||
4821 | *logical_offset += num_bits; | 4815 | *logical_offset += num_bits; |
4822 | 4816 | ||
4823 | if (clusters_to_add) { | 4817 | if (clusters_to_add) { |
4824 | mlog(0, "need to alloc once more, wanted = %u\n", | 4818 | err = clusters_to_add; |
4825 | clusters_to_add); | ||
4826 | status = -EAGAIN; | 4819 | status = -EAGAIN; |
4827 | reason = RESTART_TRANS; | 4820 | reason = RESTART_TRANS; |
4828 | } | 4821 | } |
4829 | 4822 | ||
4830 | leave: | 4823 | leave: |
4831 | mlog_exit(status); | ||
4832 | if (reason_ret) | 4824 | if (reason_ret) |
4833 | *reason_ret = reason; | 4825 | *reason_ret = reason; |
4826 | trace_ocfs2_add_clusters_in_btree_ret(status, reason, err); | ||
4834 | return status; | 4827 | return status; |
4835 | } | 4828 | } |
4836 | 4829 | ||
@@ -5039,7 +5032,7 @@ int ocfs2_split_extent(handle_t *handle, | |||
5039 | ocfs2_et_get_last_eb_blk(et), | 5032 | ocfs2_et_get_last_eb_blk(et), |
5040 | &last_eb_bh); | 5033 | &last_eb_bh); |
5041 | if (ret) { | 5034 | if (ret) { |
5042 | mlog_exit(ret); | 5035 | mlog_errno(ret); |
5043 | goto out; | 5036 | goto out; |
5044 | } | 5037 | } |
5045 | 5038 | ||
@@ -5056,9 +5049,9 @@ int ocfs2_split_extent(handle_t *handle, | |||
5056 | 5049 | ||
5057 | ctxt.c_has_empty_extent = ocfs2_is_empty_extent(&el->l_recs[0]); | 5050 | ctxt.c_has_empty_extent = ocfs2_is_empty_extent(&el->l_recs[0]); |
5058 | 5051 | ||
5059 | mlog(0, "index: %d, contig: %u, has_empty: %u, split_covers: %u\n", | 5052 | trace_ocfs2_split_extent(split_index, ctxt.c_contig_type, |
5060 | split_index, ctxt.c_contig_type, ctxt.c_has_empty_extent, | 5053 | ctxt.c_has_empty_extent, |
5061 | ctxt.c_split_covers_rec); | 5054 | ctxt.c_split_covers_rec); |
5062 | 5055 | ||
5063 | if (ctxt.c_contig_type == CONTIG_NONE) { | 5056 | if (ctxt.c_contig_type == CONTIG_NONE) { |
5064 | if (ctxt.c_split_covers_rec) | 5057 | if (ctxt.c_split_covers_rec) |
@@ -5192,8 +5185,9 @@ int ocfs2_mark_extent_written(struct inode *inode, | |||
5192 | { | 5185 | { |
5193 | int ret; | 5186 | int ret; |
5194 | 5187 | ||
5195 | mlog(0, "Inode %lu cpos %u, len %u, phys clusters %u\n", | 5188 | trace_ocfs2_mark_extent_written( |
5196 | inode->i_ino, cpos, len, phys); | 5189 | (unsigned long long)OCFS2_I(inode)->ip_blkno, |
5190 | cpos, len, phys); | ||
5197 | 5191 | ||
5198 | if (!ocfs2_writes_unwritten_extents(OCFS2_SB(inode->i_sb))) { | 5192 | if (!ocfs2_writes_unwritten_extents(OCFS2_SB(inode->i_sb))) { |
5199 | ocfs2_error(inode->i_sb, "Inode %llu has unwritten extents " | 5193 | ocfs2_error(inode->i_sb, "Inode %llu has unwritten extents " |
@@ -5512,11 +5506,10 @@ int ocfs2_remove_extent(handle_t *handle, | |||
5512 | 5506 | ||
5513 | BUG_ON(cpos < le32_to_cpu(rec->e_cpos) || trunc_range > rec_range); | 5507 | BUG_ON(cpos < le32_to_cpu(rec->e_cpos) || trunc_range > rec_range); |
5514 | 5508 | ||
5515 | mlog(0, "Owner %llu, remove (cpos %u, len %u). Existing index %d " | 5509 | trace_ocfs2_remove_extent( |
5516 | "(cpos %u, len %u)\n", | 5510 | (unsigned long long)ocfs2_metadata_cache_owner(et->et_ci), |
5517 | (unsigned long long)ocfs2_metadata_cache_owner(et->et_ci), | 5511 | cpos, len, index, le32_to_cpu(rec->e_cpos), |
5518 | cpos, len, index, | 5512 | ocfs2_rec_clusters(el, rec)); |
5519 | le32_to_cpu(rec->e_cpos), ocfs2_rec_clusters(el, rec)); | ||
5520 | 5513 | ||
5521 | if (le32_to_cpu(rec->e_cpos) == cpos || rec_range == trunc_range) { | 5514 | if (le32_to_cpu(rec->e_cpos) == cpos || rec_range == trunc_range) { |
5522 | ret = ocfs2_truncate_rec(handle, et, path, index, dealloc, | 5515 | ret = ocfs2_truncate_rec(handle, et, path, index, dealloc, |
@@ -5795,9 +5788,6 @@ int ocfs2_truncate_log_append(struct ocfs2_super *osb, | |||
5795 | struct ocfs2_dinode *di; | 5788 | struct ocfs2_dinode *di; |
5796 | struct ocfs2_truncate_log *tl; | 5789 | struct ocfs2_truncate_log *tl; |
5797 | 5790 | ||
5798 | mlog_entry("start_blk = %llu, num_clusters = %u\n", | ||
5799 | (unsigned long long)start_blk, num_clusters); | ||
5800 | |||
5801 | BUG_ON(mutex_trylock(&tl_inode->i_mutex)); | 5791 | BUG_ON(mutex_trylock(&tl_inode->i_mutex)); |
5802 | 5792 | ||
5803 | start_cluster = ocfs2_blocks_to_clusters(osb->sb, start_blk); | 5793 | start_cluster = ocfs2_blocks_to_clusters(osb->sb, start_blk); |
@@ -5834,10 +5824,9 @@ int ocfs2_truncate_log_append(struct ocfs2_super *osb, | |||
5834 | goto bail; | 5824 | goto bail; |
5835 | } | 5825 | } |
5836 | 5826 | ||
5837 | mlog(0, "Log truncate of %u clusters starting at cluster %u to " | 5827 | trace_ocfs2_truncate_log_append( |
5838 | "%llu (index = %d)\n", num_clusters, start_cluster, | 5828 | (unsigned long long)OCFS2_I(tl_inode)->ip_blkno, index, |
5839 | (unsigned long long)OCFS2_I(tl_inode)->ip_blkno, index); | 5829 | start_cluster, num_clusters); |
5840 | |||
5841 | if (ocfs2_truncate_log_can_coalesce(tl, start_cluster)) { | 5830 | if (ocfs2_truncate_log_can_coalesce(tl, start_cluster)) { |
5842 | /* | 5831 | /* |
5843 | * Move index back to the record we are coalescing with. | 5832 | * Move index back to the record we are coalescing with. |
@@ -5846,9 +5835,10 @@ int ocfs2_truncate_log_append(struct ocfs2_super *osb, | |||
5846 | index--; | 5835 | index--; |
5847 | 5836 | ||
5848 | num_clusters += le32_to_cpu(tl->tl_recs[index].t_clusters); | 5837 | num_clusters += le32_to_cpu(tl->tl_recs[index].t_clusters); |
5849 | mlog(0, "Coalesce with index %u (start = %u, clusters = %u)\n", | 5838 | trace_ocfs2_truncate_log_append( |
5850 | index, le32_to_cpu(tl->tl_recs[index].t_start), | 5839 | (unsigned long long)OCFS2_I(tl_inode)->ip_blkno, |
5851 | num_clusters); | 5840 | index, le32_to_cpu(tl->tl_recs[index].t_start), |
5841 | num_clusters); | ||
5852 | } else { | 5842 | } else { |
5853 | tl->tl_recs[index].t_start = cpu_to_le32(start_cluster); | 5843 | tl->tl_recs[index].t_start = cpu_to_le32(start_cluster); |
5854 | tl->tl_used = cpu_to_le16(index + 1); | 5844 | tl->tl_used = cpu_to_le16(index + 1); |
@@ -5859,7 +5849,6 @@ int ocfs2_truncate_log_append(struct ocfs2_super *osb, | |||
5859 | 5849 | ||
5860 | osb->truncated_clusters += num_clusters; | 5850 | osb->truncated_clusters += num_clusters; |
5861 | bail: | 5851 | bail: |
5862 | mlog_exit(status); | ||
5863 | return status; | 5852 | return status; |
5864 | } | 5853 | } |
5865 | 5854 | ||
@@ -5878,8 +5867,6 @@ static int ocfs2_replay_truncate_records(struct ocfs2_super *osb, | |||
5878 | struct inode *tl_inode = osb->osb_tl_inode; | 5867 | struct inode *tl_inode = osb->osb_tl_inode; |
5879 | struct buffer_head *tl_bh = osb->osb_tl_bh; | 5868 | struct buffer_head *tl_bh = osb->osb_tl_bh; |
5880 | 5869 | ||
5881 | mlog_entry_void(); | ||
5882 | |||
5883 | di = (struct ocfs2_dinode *) tl_bh->b_data; | 5870 | di = (struct ocfs2_dinode *) tl_bh->b_data; |
5884 | tl = &di->id2.i_dealloc; | 5871 | tl = &di->id2.i_dealloc; |
5885 | i = le16_to_cpu(tl->tl_used) - 1; | 5872 | i = le16_to_cpu(tl->tl_used) - 1; |
@@ -5915,8 +5902,9 @@ static int ocfs2_replay_truncate_records(struct ocfs2_super *osb, | |||
5915 | /* if start_blk is not set, we ignore the record as | 5902 | /* if start_blk is not set, we ignore the record as |
5916 | * invalid. */ | 5903 | * invalid. */ |
5917 | if (start_blk) { | 5904 | if (start_blk) { |
5918 | mlog(0, "free record %d, start = %u, clusters = %u\n", | 5905 | trace_ocfs2_replay_truncate_records( |
5919 | i, le32_to_cpu(rec.t_start), num_clusters); | 5906 | (unsigned long long)OCFS2_I(tl_inode)->ip_blkno, |
5907 | i, le32_to_cpu(rec.t_start), num_clusters); | ||
5920 | 5908 | ||
5921 | status = ocfs2_free_clusters(handle, data_alloc_inode, | 5909 | status = ocfs2_free_clusters(handle, data_alloc_inode, |
5922 | data_alloc_bh, start_blk, | 5910 | data_alloc_bh, start_blk, |
@@ -5932,7 +5920,6 @@ static int ocfs2_replay_truncate_records(struct ocfs2_super *osb, | |||
5932 | osb->truncated_clusters = 0; | 5920 | osb->truncated_clusters = 0; |
5933 | 5921 | ||
5934 | bail: | 5922 | bail: |
5935 | mlog_exit(status); | ||
5936 | return status; | 5923 | return status; |
5937 | } | 5924 | } |
5938 | 5925 | ||
@@ -5949,8 +5936,6 @@ int __ocfs2_flush_truncate_log(struct ocfs2_super *osb) | |||
5949 | struct ocfs2_dinode *di; | 5936 | struct ocfs2_dinode *di; |
5950 | struct ocfs2_truncate_log *tl; | 5937 | struct ocfs2_truncate_log *tl; |
5951 | 5938 | ||
5952 | mlog_entry_void(); | ||
5953 | |||
5954 | BUG_ON(mutex_trylock(&tl_inode->i_mutex)); | 5939 | BUG_ON(mutex_trylock(&tl_inode->i_mutex)); |
5955 | 5940 | ||
5956 | di = (struct ocfs2_dinode *) tl_bh->b_data; | 5941 | di = (struct ocfs2_dinode *) tl_bh->b_data; |
@@ -5962,8 +5947,9 @@ int __ocfs2_flush_truncate_log(struct ocfs2_super *osb) | |||
5962 | 5947 | ||
5963 | tl = &di->id2.i_dealloc; | 5948 | tl = &di->id2.i_dealloc; |
5964 | num_to_flush = le16_to_cpu(tl->tl_used); | 5949 | num_to_flush = le16_to_cpu(tl->tl_used); |
5965 | mlog(0, "Flush %u records from truncate log #%llu\n", | 5950 | trace_ocfs2_flush_truncate_log( |
5966 | num_to_flush, (unsigned long long)OCFS2_I(tl_inode)->ip_blkno); | 5951 | (unsigned long long)OCFS2_I(tl_inode)->ip_blkno, |
5952 | num_to_flush); | ||
5967 | if (!num_to_flush) { | 5953 | if (!num_to_flush) { |
5968 | status = 0; | 5954 | status = 0; |
5969 | goto out; | 5955 | goto out; |
@@ -6009,7 +5995,6 @@ out_mutex: | |||
6009 | iput(data_alloc_inode); | 5995 | iput(data_alloc_inode); |
6010 | 5996 | ||
6011 | out: | 5997 | out: |
6012 | mlog_exit(status); | ||
6013 | return status; | 5998 | return status; |
6014 | } | 5999 | } |
6015 | 6000 | ||
@@ -6032,15 +6017,11 @@ static void ocfs2_truncate_log_worker(struct work_struct *work) | |||
6032 | container_of(work, struct ocfs2_super, | 6017 | container_of(work, struct ocfs2_super, |
6033 | osb_truncate_log_wq.work); | 6018 | osb_truncate_log_wq.work); |
6034 | 6019 | ||
6035 | mlog_entry_void(); | ||
6036 | |||
6037 | status = ocfs2_flush_truncate_log(osb); | 6020 | status = ocfs2_flush_truncate_log(osb); |
6038 | if (status < 0) | 6021 | if (status < 0) |
6039 | mlog_errno(status); | 6022 | mlog_errno(status); |
6040 | else | 6023 | else |
6041 | ocfs2_init_steal_slots(osb); | 6024 | ocfs2_init_steal_slots(osb); |
6042 | |||
6043 | mlog_exit(status); | ||
6044 | } | 6025 | } |
6045 | 6026 | ||
6046 | #define OCFS2_TRUNCATE_LOG_FLUSH_INTERVAL (2 * HZ) | 6027 | #define OCFS2_TRUNCATE_LOG_FLUSH_INTERVAL (2 * HZ) |
@@ -6086,7 +6067,6 @@ static int ocfs2_get_truncate_log_info(struct ocfs2_super *osb, | |||
6086 | *tl_inode = inode; | 6067 | *tl_inode = inode; |
6087 | *tl_bh = bh; | 6068 | *tl_bh = bh; |
6088 | bail: | 6069 | bail: |
6089 | mlog_exit(status); | ||
6090 | return status; | 6070 | return status; |
6091 | } | 6071 | } |
6092 | 6072 | ||
@@ -6106,7 +6086,7 @@ int ocfs2_begin_truncate_log_recovery(struct ocfs2_super *osb, | |||
6106 | 6086 | ||
6107 | *tl_copy = NULL; | 6087 | *tl_copy = NULL; |
6108 | 6088 | ||
6109 | mlog(0, "recover truncate log from slot %d\n", slot_num); | 6089 | trace_ocfs2_begin_truncate_log_recovery(slot_num); |
6110 | 6090 | ||
6111 | status = ocfs2_get_truncate_log_info(osb, slot_num, &tl_inode, &tl_bh); | 6091 | status = ocfs2_get_truncate_log_info(osb, slot_num, &tl_inode, &tl_bh); |
6112 | if (status < 0) { | 6092 | if (status < 0) { |
@@ -6123,8 +6103,7 @@ int ocfs2_begin_truncate_log_recovery(struct ocfs2_super *osb, | |||
6123 | 6103 | ||
6124 | tl = &di->id2.i_dealloc; | 6104 | tl = &di->id2.i_dealloc; |
6125 | if (le16_to_cpu(tl->tl_used)) { | 6105 | if (le16_to_cpu(tl->tl_used)) { |
6126 | mlog(0, "We'll have %u logs to recover\n", | 6106 | trace_ocfs2_truncate_log_recovery_num(le16_to_cpu(tl->tl_used)); |
6127 | le16_to_cpu(tl->tl_used)); | ||
6128 | 6107 | ||
6129 | *tl_copy = kmalloc(tl_bh->b_size, GFP_KERNEL); | 6108 | *tl_copy = kmalloc(tl_bh->b_size, GFP_KERNEL); |
6130 | if (!(*tl_copy)) { | 6109 | if (!(*tl_copy)) { |
@@ -6157,9 +6136,9 @@ bail: | |||
6157 | if (status < 0 && (*tl_copy)) { | 6136 | if (status < 0 && (*tl_copy)) { |
6158 | kfree(*tl_copy); | 6137 | kfree(*tl_copy); |
6159 | *tl_copy = NULL; | 6138 | *tl_copy = NULL; |
6139 | mlog_errno(status); | ||
6160 | } | 6140 | } |
6161 | 6141 | ||
6162 | mlog_exit(status); | ||
6163 | return status; | 6142 | return status; |
6164 | } | 6143 | } |
6165 | 6144 | ||
@@ -6174,8 +6153,6 @@ int ocfs2_complete_truncate_log_recovery(struct ocfs2_super *osb, | |||
6174 | struct inode *tl_inode = osb->osb_tl_inode; | 6153 | struct inode *tl_inode = osb->osb_tl_inode; |
6175 | struct ocfs2_truncate_log *tl; | 6154 | struct ocfs2_truncate_log *tl; |
6176 | 6155 | ||
6177 | mlog_entry_void(); | ||
6178 | |||
6179 | if (OCFS2_I(tl_inode)->ip_blkno == le64_to_cpu(tl_copy->i_blkno)) { | 6156 | if (OCFS2_I(tl_inode)->ip_blkno == le64_to_cpu(tl_copy->i_blkno)) { |
6180 | mlog(ML_ERROR, "Asked to recover my own truncate log!\n"); | 6157 | mlog(ML_ERROR, "Asked to recover my own truncate log!\n"); |
6181 | return -EINVAL; | 6158 | return -EINVAL; |
@@ -6183,8 +6160,9 @@ int ocfs2_complete_truncate_log_recovery(struct ocfs2_super *osb, | |||
6183 | 6160 | ||
6184 | tl = &tl_copy->id2.i_dealloc; | 6161 | tl = &tl_copy->id2.i_dealloc; |
6185 | num_recs = le16_to_cpu(tl->tl_used); | 6162 | num_recs = le16_to_cpu(tl->tl_used); |
6186 | mlog(0, "cleanup %u records from %llu\n", num_recs, | 6163 | trace_ocfs2_complete_truncate_log_recovery( |
6187 | (unsigned long long)le64_to_cpu(tl_copy->i_blkno)); | 6164 | (unsigned long long)le64_to_cpu(tl_copy->i_blkno), |
6165 | num_recs); | ||
6188 | 6166 | ||
6189 | mutex_lock(&tl_inode->i_mutex); | 6167 | mutex_lock(&tl_inode->i_mutex); |
6190 | for(i = 0; i < num_recs; i++) { | 6168 | for(i = 0; i < num_recs; i++) { |
@@ -6219,7 +6197,6 @@ int ocfs2_complete_truncate_log_recovery(struct ocfs2_super *osb, | |||
6219 | bail_up: | 6197 | bail_up: |
6220 | mutex_unlock(&tl_inode->i_mutex); | 6198 | mutex_unlock(&tl_inode->i_mutex); |
6221 | 6199 | ||
6222 | mlog_exit(status); | ||
6223 | return status; | 6200 | return status; |
6224 | } | 6201 | } |
6225 | 6202 | ||
@@ -6228,8 +6205,6 @@ void ocfs2_truncate_log_shutdown(struct ocfs2_super *osb) | |||
6228 | int status; | 6205 | int status; |
6229 | struct inode *tl_inode = osb->osb_tl_inode; | 6206 | struct inode *tl_inode = osb->osb_tl_inode; |
6230 | 6207 | ||
6231 | mlog_entry_void(); | ||
6232 | |||
6233 | if (tl_inode) { | 6208 | if (tl_inode) { |
6234 | cancel_delayed_work(&osb->osb_truncate_log_wq); | 6209 | cancel_delayed_work(&osb->osb_truncate_log_wq); |
6235 | flush_workqueue(ocfs2_wq); | 6210 | flush_workqueue(ocfs2_wq); |
@@ -6241,8 +6216,6 @@ void ocfs2_truncate_log_shutdown(struct ocfs2_super *osb) | |||
6241 | brelse(osb->osb_tl_bh); | 6216 | brelse(osb->osb_tl_bh); |
6242 | iput(osb->osb_tl_inode); | 6217 | iput(osb->osb_tl_inode); |
6243 | } | 6218 | } |
6244 | |||
6245 | mlog_exit_void(); | ||
6246 | } | 6219 | } |
6247 | 6220 | ||
6248 | int ocfs2_truncate_log_init(struct ocfs2_super *osb) | 6221 | int ocfs2_truncate_log_init(struct ocfs2_super *osb) |
@@ -6251,8 +6224,6 @@ int ocfs2_truncate_log_init(struct ocfs2_super *osb) | |||
6251 | struct inode *tl_inode = NULL; | 6224 | struct inode *tl_inode = NULL; |
6252 | struct buffer_head *tl_bh = NULL; | 6225 | struct buffer_head *tl_bh = NULL; |
6253 | 6226 | ||
6254 | mlog_entry_void(); | ||
6255 | |||
6256 | status = ocfs2_get_truncate_log_info(osb, | 6227 | status = ocfs2_get_truncate_log_info(osb, |
6257 | osb->slot_num, | 6228 | osb->slot_num, |
6258 | &tl_inode, | 6229 | &tl_inode, |
@@ -6268,7 +6239,6 @@ int ocfs2_truncate_log_init(struct ocfs2_super *osb) | |||
6268 | osb->osb_tl_bh = tl_bh; | 6239 | osb->osb_tl_bh = tl_bh; |
6269 | osb->osb_tl_inode = tl_inode; | 6240 | osb->osb_tl_inode = tl_inode; |
6270 | 6241 | ||
6271 | mlog_exit(status); | ||
6272 | return status; | 6242 | return status; |
6273 | } | 6243 | } |
6274 | 6244 | ||
@@ -6350,8 +6320,8 @@ static int ocfs2_free_cached_blocks(struct ocfs2_super *osb, | |||
6350 | else | 6320 | else |
6351 | bg_blkno = ocfs2_which_suballoc_group(head->free_blk, | 6321 | bg_blkno = ocfs2_which_suballoc_group(head->free_blk, |
6352 | head->free_bit); | 6322 | head->free_bit); |
6353 | mlog(0, "Free bit: (bit %u, blkno %llu)\n", | 6323 | trace_ocfs2_free_cached_blocks( |
6354 | head->free_bit, (unsigned long long)head->free_blk); | 6324 | (unsigned long long)head->free_blk, head->free_bit); |
6355 | 6325 | ||
6356 | ret = ocfs2_free_suballoc_bits(handle, inode, di_bh, | 6326 | ret = ocfs2_free_suballoc_bits(handle, inode, di_bh, |
6357 | head->free_bit, bg_blkno, 1); | 6327 | head->free_bit, bg_blkno, 1); |
@@ -6404,8 +6374,7 @@ int ocfs2_cache_cluster_dealloc(struct ocfs2_cached_dealloc_ctxt *ctxt, | |||
6404 | return ret; | 6374 | return ret; |
6405 | } | 6375 | } |
6406 | 6376 | ||
6407 | mlog(0, "Insert clusters: (bit %u, blk %llu)\n", | 6377 | trace_ocfs2_cache_cluster_dealloc((unsigned long long)blkno, bit); |
6408 | bit, (unsigned long long)blkno); | ||
6409 | 6378 | ||
6410 | item->free_blk = blkno; | 6379 | item->free_blk = blkno; |
6411 | item->free_bit = bit; | 6380 | item->free_bit = bit; |
@@ -6480,8 +6449,8 @@ int ocfs2_run_deallocs(struct ocfs2_super *osb, | |||
6480 | fl = ctxt->c_first_suballocator; | 6449 | fl = ctxt->c_first_suballocator; |
6481 | 6450 | ||
6482 | if (fl->f_first) { | 6451 | if (fl->f_first) { |
6483 | mlog(0, "Free items: (type %u, slot %d)\n", | 6452 | trace_ocfs2_run_deallocs(fl->f_inode_type, |
6484 | fl->f_inode_type, fl->f_slot); | 6453 | fl->f_slot); |
6485 | ret2 = ocfs2_free_cached_blocks(osb, | 6454 | ret2 = ocfs2_free_cached_blocks(osb, |
6486 | fl->f_inode_type, | 6455 | fl->f_inode_type, |
6487 | fl->f_slot, | 6456 | fl->f_slot, |
@@ -6558,8 +6527,9 @@ int ocfs2_cache_block_dealloc(struct ocfs2_cached_dealloc_ctxt *ctxt, | |||
6558 | goto out; | 6527 | goto out; |
6559 | } | 6528 | } |
6560 | 6529 | ||
6561 | mlog(0, "Insert: (type %d, slot %u, bit %u, blk %llu)\n", | 6530 | trace_ocfs2_cache_block_dealloc(type, slot, |
6562 | type, slot, bit, (unsigned long long)blkno); | 6531 | (unsigned long long)suballoc, |
6532 | (unsigned long long)blkno, bit); | ||
6563 | 6533 | ||
6564 | item->free_bg = suballoc; | 6534 | item->free_bg = suballoc; |
6565 | item->free_blk = blkno; | 6535 | item->free_blk = blkno; |
@@ -7005,8 +6975,6 @@ int ocfs2_commit_truncate(struct ocfs2_super *osb, | |||
7005 | struct ocfs2_extent_tree et; | 6975 | struct ocfs2_extent_tree et; |
7006 | struct ocfs2_cached_dealloc_ctxt dealloc; | 6976 | struct ocfs2_cached_dealloc_ctxt dealloc; |
7007 | 6977 | ||
7008 | mlog_entry_void(); | ||
7009 | |||
7010 | ocfs2_init_dinode_extent_tree(&et, INODE_CACHE(inode), di_bh); | 6978 | ocfs2_init_dinode_extent_tree(&et, INODE_CACHE(inode), di_bh); |
7011 | ocfs2_init_dealloc_ctxt(&dealloc); | 6979 | ocfs2_init_dealloc_ctxt(&dealloc); |
7012 | 6980 | ||
@@ -7041,8 +7009,11 @@ start: | |||
7041 | goto bail; | 7009 | goto bail; |
7042 | } | 7010 | } |
7043 | 7011 | ||
7044 | mlog(0, "inode->ip_clusters = %u, tree_depth = %u\n", | 7012 | trace_ocfs2_commit_truncate( |
7045 | OCFS2_I(inode)->ip_clusters, path->p_tree_depth); | 7013 | (unsigned long long)OCFS2_I(inode)->ip_blkno, |
7014 | new_highest_cpos, | ||
7015 | OCFS2_I(inode)->ip_clusters, | ||
7016 | path->p_tree_depth); | ||
7046 | 7017 | ||
7047 | /* | 7018 | /* |
7048 | * By now, el will point to the extent list on the bottom most | 7019 | * By now, el will point to the extent list on the bottom most |
@@ -7136,7 +7107,6 @@ bail: | |||
7136 | 7107 | ||
7137 | ocfs2_free_path(path); | 7108 | ocfs2_free_path(path); |
7138 | 7109 | ||
7139 | mlog_exit(status); | ||
7140 | return status; | 7110 | return status; |
7141 | } | 7111 | } |
7142 | 7112 | ||