diff options
Diffstat (limited to 'fs/ocfs2/dir.c')
-rw-r--r-- | fs/ocfs2/dir.c | 121 |
1 files changed, 52 insertions, 69 deletions
diff --git a/fs/ocfs2/dir.c b/fs/ocfs2/dir.c index f97b6f1c61dd..9fe5b8fd658f 100644 --- a/fs/ocfs2/dir.c +++ b/fs/ocfs2/dir.c | |||
@@ -43,7 +43,6 @@ | |||
43 | #include <linux/quotaops.h> | 43 | #include <linux/quotaops.h> |
44 | #include <linux/sort.h> | 44 | #include <linux/sort.h> |
45 | 45 | ||
46 | #define MLOG_MASK_PREFIX ML_NAMEI | ||
47 | #include <cluster/masklog.h> | 46 | #include <cluster/masklog.h> |
48 | 47 | ||
49 | #include "ocfs2.h" | 48 | #include "ocfs2.h" |
@@ -61,6 +60,7 @@ | |||
61 | #include "super.h" | 60 | #include "super.h" |
62 | #include "sysfile.h" | 61 | #include "sysfile.h" |
63 | #include "uptodate.h" | 62 | #include "uptodate.h" |
63 | #include "ocfs2_trace.h" | ||
64 | 64 | ||
65 | #include "buffer_head_io.h" | 65 | #include "buffer_head_io.h" |
66 | 66 | ||
@@ -322,21 +322,23 @@ static int ocfs2_check_dir_entry(struct inode * dir, | |||
322 | const char *error_msg = NULL; | 322 | const char *error_msg = NULL; |
323 | const int rlen = le16_to_cpu(de->rec_len); | 323 | const int rlen = le16_to_cpu(de->rec_len); |
324 | 324 | ||
325 | if (rlen < OCFS2_DIR_REC_LEN(1)) | 325 | if (unlikely(rlen < OCFS2_DIR_REC_LEN(1))) |
326 | error_msg = "rec_len is smaller than minimal"; | 326 | error_msg = "rec_len is smaller than minimal"; |
327 | else if (rlen % 4 != 0) | 327 | else if (unlikely(rlen % 4 != 0)) |
328 | error_msg = "rec_len % 4 != 0"; | 328 | error_msg = "rec_len % 4 != 0"; |
329 | else if (rlen < OCFS2_DIR_REC_LEN(de->name_len)) | 329 | else if (unlikely(rlen < OCFS2_DIR_REC_LEN(de->name_len))) |
330 | error_msg = "rec_len is too small for name_len"; | 330 | error_msg = "rec_len is too small for name_len"; |
331 | else if (((char *) de - bh->b_data) + rlen > dir->i_sb->s_blocksize) | 331 | else if (unlikely( |
332 | ((char *) de - bh->b_data) + rlen > dir->i_sb->s_blocksize)) | ||
332 | error_msg = "directory entry across blocks"; | 333 | error_msg = "directory entry across blocks"; |
333 | 334 | ||
334 | if (error_msg != NULL) | 335 | if (unlikely(error_msg != NULL)) |
335 | mlog(ML_ERROR, "bad entry in directory #%llu: %s - " | 336 | mlog(ML_ERROR, "bad entry in directory #%llu: %s - " |
336 | "offset=%lu, inode=%llu, rec_len=%d, name_len=%d\n", | 337 | "offset=%lu, inode=%llu, rec_len=%d, name_len=%d\n", |
337 | (unsigned long long)OCFS2_I(dir)->ip_blkno, error_msg, | 338 | (unsigned long long)OCFS2_I(dir)->ip_blkno, error_msg, |
338 | offset, (unsigned long long)le64_to_cpu(de->inode), rlen, | 339 | offset, (unsigned long long)le64_to_cpu(de->inode), rlen, |
339 | de->name_len); | 340 | de->name_len); |
341 | |||
340 | return error_msg == NULL ? 1 : 0; | 342 | return error_msg == NULL ? 1 : 0; |
341 | } | 343 | } |
342 | 344 | ||
@@ -367,8 +369,6 @@ static inline int ocfs2_search_dirblock(struct buffer_head *bh, | |||
367 | int de_len; | 369 | int de_len; |
368 | int ret = 0; | 370 | int ret = 0; |
369 | 371 | ||
370 | mlog_entry_void(); | ||
371 | |||
372 | de_buf = first_de; | 372 | de_buf = first_de; |
373 | dlimit = de_buf + bytes; | 373 | dlimit = de_buf + bytes; |
374 | 374 | ||
@@ -402,7 +402,7 @@ static inline int ocfs2_search_dirblock(struct buffer_head *bh, | |||
402 | } | 402 | } |
403 | 403 | ||
404 | bail: | 404 | bail: |
405 | mlog_exit(ret); | 405 | trace_ocfs2_search_dirblock(ret); |
406 | return ret; | 406 | return ret; |
407 | } | 407 | } |
408 | 408 | ||
@@ -447,8 +447,7 @@ static int ocfs2_validate_dir_block(struct super_block *sb, | |||
447 | * We don't validate dirents here, that's handled | 447 | * We don't validate dirents here, that's handled |
448 | * in-place when the code walks them. | 448 | * in-place when the code walks them. |
449 | */ | 449 | */ |
450 | mlog(0, "Validating dirblock %llu\n", | 450 | trace_ocfs2_validate_dir_block((unsigned long long)bh->b_blocknr); |
451 | (unsigned long long)bh->b_blocknr); | ||
452 | 451 | ||
453 | BUG_ON(!buffer_uptodate(bh)); | 452 | BUG_ON(!buffer_uptodate(bh)); |
454 | 453 | ||
@@ -706,8 +705,6 @@ static struct buffer_head *ocfs2_find_entry_el(const char *name, int namelen, | |||
706 | int num = 0; | 705 | int num = 0; |
707 | int nblocks, i, err; | 706 | int nblocks, i, err; |
708 | 707 | ||
709 | mlog_entry_void(); | ||
710 | |||
711 | sb = dir->i_sb; | 708 | sb = dir->i_sb; |
712 | 709 | ||
713 | nblocks = i_size_read(dir) >> sb->s_blocksize_bits; | 710 | nblocks = i_size_read(dir) >> sb->s_blocksize_bits; |
@@ -788,7 +785,7 @@ cleanup_and_exit: | |||
788 | for (; ra_ptr < ra_max; ra_ptr++) | 785 | for (; ra_ptr < ra_max; ra_ptr++) |
789 | brelse(bh_use[ra_ptr]); | 786 | brelse(bh_use[ra_ptr]); |
790 | 787 | ||
791 | mlog_exit_ptr(ret); | 788 | trace_ocfs2_find_entry_el(ret); |
792 | return ret; | 789 | return ret; |
793 | } | 790 | } |
794 | 791 | ||
@@ -950,11 +947,9 @@ static int ocfs2_dx_dir_search(const char *name, int namelen, | |||
950 | goto out; | 947 | goto out; |
951 | } | 948 | } |
952 | 949 | ||
953 | mlog(0, "Dir %llu: name: \"%.*s\", lookup of hash: %u.0x%x " | 950 | trace_ocfs2_dx_dir_search((unsigned long long)OCFS2_I(dir)->ip_blkno, |
954 | "returns: %llu\n", | 951 | namelen, name, hinfo->major_hash, |
955 | (unsigned long long)OCFS2_I(dir)->ip_blkno, | 952 | hinfo->minor_hash, (unsigned long long)phys); |
956 | namelen, name, hinfo->major_hash, hinfo->minor_hash, | ||
957 | (unsigned long long)phys); | ||
958 | 953 | ||
959 | ret = ocfs2_read_dx_leaf(dir, phys, &dx_leaf_bh); | 954 | ret = ocfs2_read_dx_leaf(dir, phys, &dx_leaf_bh); |
960 | if (ret) { | 955 | if (ret) { |
@@ -964,9 +959,9 @@ static int ocfs2_dx_dir_search(const char *name, int namelen, | |||
964 | 959 | ||
965 | dx_leaf = (struct ocfs2_dx_leaf *) dx_leaf_bh->b_data; | 960 | dx_leaf = (struct ocfs2_dx_leaf *) dx_leaf_bh->b_data; |
966 | 961 | ||
967 | mlog(0, "leaf info: num_used: %d, count: %d\n", | 962 | trace_ocfs2_dx_dir_search_leaf_info( |
968 | le16_to_cpu(dx_leaf->dl_list.de_num_used), | 963 | le16_to_cpu(dx_leaf->dl_list.de_num_used), |
969 | le16_to_cpu(dx_leaf->dl_list.de_count)); | 964 | le16_to_cpu(dx_leaf->dl_list.de_count)); |
970 | 965 | ||
971 | entry_list = &dx_leaf->dl_list; | 966 | entry_list = &dx_leaf->dl_list; |
972 | 967 | ||
@@ -1166,8 +1161,6 @@ static int __ocfs2_delete_entry(handle_t *handle, struct inode *dir, | |||
1166 | int i, status = -ENOENT; | 1161 | int i, status = -ENOENT; |
1167 | ocfs2_journal_access_func access = ocfs2_journal_access_db; | 1162 | ocfs2_journal_access_func access = ocfs2_journal_access_db; |
1168 | 1163 | ||
1169 | mlog_entry("(0x%p, 0x%p, 0x%p, 0x%p)\n", handle, dir, de_del, bh); | ||
1170 | |||
1171 | if (OCFS2_I(dir)->ip_dyn_features & OCFS2_INLINE_DATA_FL) | 1164 | if (OCFS2_I(dir)->ip_dyn_features & OCFS2_INLINE_DATA_FL) |
1172 | access = ocfs2_journal_access_di; | 1165 | access = ocfs2_journal_access_di; |
1173 | 1166 | ||
@@ -1202,7 +1195,6 @@ static int __ocfs2_delete_entry(handle_t *handle, struct inode *dir, | |||
1202 | de = (struct ocfs2_dir_entry *)((char *)de + le16_to_cpu(de->rec_len)); | 1195 | de = (struct ocfs2_dir_entry *)((char *)de + le16_to_cpu(de->rec_len)); |
1203 | } | 1196 | } |
1204 | bail: | 1197 | bail: |
1205 | mlog_exit(status); | ||
1206 | return status; | 1198 | return status; |
1207 | } | 1199 | } |
1208 | 1200 | ||
@@ -1348,8 +1340,8 @@ static int ocfs2_delete_entry_dx(handle_t *handle, struct inode *dir, | |||
1348 | } | 1340 | } |
1349 | } | 1341 | } |
1350 | 1342 | ||
1351 | mlog(0, "Dir %llu: delete entry at index: %d\n", | 1343 | trace_ocfs2_delete_entry_dx((unsigned long long)OCFS2_I(dir)->ip_blkno, |
1352 | (unsigned long long)OCFS2_I(dir)->ip_blkno, index); | 1344 | index); |
1353 | 1345 | ||
1354 | ret = __ocfs2_delete_entry(handle, dir, lookup->dl_entry, | 1346 | ret = __ocfs2_delete_entry(handle, dir, lookup->dl_entry, |
1355 | leaf_bh, leaf_bh->b_data, leaf_bh->b_size); | 1347 | leaf_bh, leaf_bh->b_data, leaf_bh->b_size); |
@@ -1632,8 +1624,6 @@ int __ocfs2_add_entry(handle_t *handle, | |||
1632 | struct buffer_head *insert_bh = lookup->dl_leaf_bh; | 1624 | struct buffer_head *insert_bh = lookup->dl_leaf_bh; |
1633 | char *data_start = insert_bh->b_data; | 1625 | char *data_start = insert_bh->b_data; |
1634 | 1626 | ||
1635 | mlog_entry_void(); | ||
1636 | |||
1637 | if (!namelen) | 1627 | if (!namelen) |
1638 | return -EINVAL; | 1628 | return -EINVAL; |
1639 | 1629 | ||
@@ -1765,8 +1755,9 @@ int __ocfs2_add_entry(handle_t *handle, | |||
1765 | * from ever getting here. */ | 1755 | * from ever getting here. */ |
1766 | retval = -ENOSPC; | 1756 | retval = -ENOSPC; |
1767 | bail: | 1757 | bail: |
1758 | if (retval) | ||
1759 | mlog_errno(retval); | ||
1768 | 1760 | ||
1769 | mlog_exit(retval); | ||
1770 | return retval; | 1761 | return retval; |
1771 | } | 1762 | } |
1772 | 1763 | ||
@@ -2028,8 +2019,7 @@ int ocfs2_readdir(struct file * filp, void * dirent, filldir_t filldir) | |||
2028 | struct inode *inode = filp->f_path.dentry->d_inode; | 2019 | struct inode *inode = filp->f_path.dentry->d_inode; |
2029 | int lock_level = 0; | 2020 | int lock_level = 0; |
2030 | 2021 | ||
2031 | mlog_entry("dirino=%llu\n", | 2022 | trace_ocfs2_readdir((unsigned long long)OCFS2_I(inode)->ip_blkno); |
2032 | (unsigned long long)OCFS2_I(inode)->ip_blkno); | ||
2033 | 2023 | ||
2034 | error = ocfs2_inode_lock_atime(inode, filp->f_vfsmnt, &lock_level); | 2024 | error = ocfs2_inode_lock_atime(inode, filp->f_vfsmnt, &lock_level); |
2035 | if (lock_level && error >= 0) { | 2025 | if (lock_level && error >= 0) { |
@@ -2051,9 +2041,10 @@ int ocfs2_readdir(struct file * filp, void * dirent, filldir_t filldir) | |||
2051 | dirent, filldir, NULL); | 2041 | dirent, filldir, NULL); |
2052 | 2042 | ||
2053 | ocfs2_inode_unlock(inode, lock_level); | 2043 | ocfs2_inode_unlock(inode, lock_level); |
2044 | if (error) | ||
2045 | mlog_errno(error); | ||
2054 | 2046 | ||
2055 | bail_nolock: | 2047 | bail_nolock: |
2056 | mlog_exit(error); | ||
2057 | 2048 | ||
2058 | return error; | 2049 | return error; |
2059 | } | 2050 | } |
@@ -2069,8 +2060,8 @@ int ocfs2_find_files_on_disk(const char *name, | |||
2069 | { | 2060 | { |
2070 | int status = -ENOENT; | 2061 | int status = -ENOENT; |
2071 | 2062 | ||
2072 | mlog(0, "name=%.*s, blkno=%p, inode=%llu\n", namelen, name, blkno, | 2063 | trace_ocfs2_find_files_on_disk(namelen, name, blkno, |
2073 | (unsigned long long)OCFS2_I(inode)->ip_blkno); | 2064 | (unsigned long long)OCFS2_I(inode)->ip_blkno); |
2074 | 2065 | ||
2075 | status = ocfs2_find_entry(name, namelen, inode, lookup); | 2066 | status = ocfs2_find_entry(name, namelen, inode, lookup); |
2076 | if (status) | 2067 | if (status) |
@@ -2114,8 +2105,8 @@ int ocfs2_check_dir_for_entry(struct inode *dir, | |||
2114 | int ret; | 2105 | int ret; |
2115 | struct ocfs2_dir_lookup_result lookup = { NULL, }; | 2106 | struct ocfs2_dir_lookup_result lookup = { NULL, }; |
2116 | 2107 | ||
2117 | mlog_entry("dir %llu, name '%.*s'\n", | 2108 | trace_ocfs2_check_dir_for_entry( |
2118 | (unsigned long long)OCFS2_I(dir)->ip_blkno, namelen, name); | 2109 | (unsigned long long)OCFS2_I(dir)->ip_blkno, namelen, name); |
2119 | 2110 | ||
2120 | ret = -EEXIST; | 2111 | ret = -EEXIST; |
2121 | if (ocfs2_find_entry(name, namelen, dir, &lookup) == 0) | 2112 | if (ocfs2_find_entry(name, namelen, dir, &lookup) == 0) |
@@ -2125,7 +2116,8 @@ int ocfs2_check_dir_for_entry(struct inode *dir, | |||
2125 | bail: | 2116 | bail: |
2126 | ocfs2_free_dir_lookup_result(&lookup); | 2117 | ocfs2_free_dir_lookup_result(&lookup); |
2127 | 2118 | ||
2128 | mlog_exit(ret); | 2119 | if (ret) |
2120 | mlog_errno(ret); | ||
2129 | return ret; | 2121 | return ret; |
2130 | } | 2122 | } |
2131 | 2123 | ||
@@ -2324,8 +2316,6 @@ static int ocfs2_fill_new_dir_el(struct ocfs2_super *osb, | |||
2324 | struct buffer_head *new_bh = NULL; | 2316 | struct buffer_head *new_bh = NULL; |
2325 | struct ocfs2_dir_entry *de; | 2317 | struct ocfs2_dir_entry *de; |
2326 | 2318 | ||
2327 | mlog_entry_void(); | ||
2328 | |||
2329 | if (ocfs2_new_dir_wants_trailer(inode)) | 2319 | if (ocfs2_new_dir_wants_trailer(inode)) |
2330 | size = ocfs2_dir_trailer_blk_off(parent->i_sb); | 2320 | size = ocfs2_dir_trailer_blk_off(parent->i_sb); |
2331 | 2321 | ||
@@ -2380,7 +2370,6 @@ static int ocfs2_fill_new_dir_el(struct ocfs2_super *osb, | |||
2380 | bail: | 2370 | bail: |
2381 | brelse(new_bh); | 2371 | brelse(new_bh); |
2382 | 2372 | ||
2383 | mlog_exit(status); | ||
2384 | return status; | 2373 | return status; |
2385 | } | 2374 | } |
2386 | 2375 | ||
@@ -2409,9 +2398,9 @@ static int ocfs2_dx_dir_attach_index(struct ocfs2_super *osb, | |||
2409 | goto out; | 2398 | goto out; |
2410 | } | 2399 | } |
2411 | 2400 | ||
2412 | mlog(0, "Dir %llu, attach new index block: %llu\n", | 2401 | trace_ocfs2_dx_dir_attach_index( |
2413 | (unsigned long long)OCFS2_I(dir)->ip_blkno, | 2402 | (unsigned long long)OCFS2_I(dir)->ip_blkno, |
2414 | (unsigned long long)dr_blkno); | 2403 | (unsigned long long)dr_blkno); |
2415 | 2404 | ||
2416 | dx_root_bh = sb_getblk(osb->sb, dr_blkno); | 2405 | dx_root_bh = sb_getblk(osb->sb, dr_blkno); |
2417 | if (dx_root_bh == NULL) { | 2406 | if (dx_root_bh == NULL) { |
@@ -2511,11 +2500,10 @@ static int ocfs2_dx_dir_format_cluster(struct ocfs2_super *osb, | |||
2511 | dx_leaf->dl_list.de_count = | 2500 | dx_leaf->dl_list.de_count = |
2512 | cpu_to_le16(ocfs2_dx_entries_per_leaf(osb->sb)); | 2501 | cpu_to_le16(ocfs2_dx_entries_per_leaf(osb->sb)); |
2513 | 2502 | ||
2514 | mlog(0, | 2503 | trace_ocfs2_dx_dir_format_cluster( |
2515 | "Dir %llu, format dx_leaf: %llu, entry count: %u\n", | 2504 | (unsigned long long)OCFS2_I(dir)->ip_blkno, |
2516 | (unsigned long long)OCFS2_I(dir)->ip_blkno, | 2505 | (unsigned long long)bh->b_blocknr, |
2517 | (unsigned long long)bh->b_blocknr, | 2506 | le16_to_cpu(dx_leaf->dl_list.de_count)); |
2518 | le16_to_cpu(dx_leaf->dl_list.de_count)); | ||
2519 | 2507 | ||
2520 | ocfs2_journal_dirty(handle, bh); | 2508 | ocfs2_journal_dirty(handle, bh); |
2521 | } | 2509 | } |
@@ -2759,12 +2747,11 @@ static void ocfs2_dx_dir_index_root_block(struct inode *dir, | |||
2759 | 2747 | ||
2760 | ocfs2_dx_dir_name_hash(dir, de->name, de->name_len, &hinfo); | 2748 | ocfs2_dx_dir_name_hash(dir, de->name, de->name_len, &hinfo); |
2761 | 2749 | ||
2762 | mlog(0, | 2750 | trace_ocfs2_dx_dir_index_root_block( |
2763 | "dir: %llu, major: 0x%x minor: 0x%x, index: %u, name: %.*s\n", | 2751 | (unsigned long long)dir->i_ino, |
2764 | (unsigned long long)dir->i_ino, hinfo.major_hash, | 2752 | hinfo.major_hash, hinfo.minor_hash, |
2765 | hinfo.minor_hash, | 2753 | de->name_len, de->name, |
2766 | le16_to_cpu(dx_root->dr_entries.de_num_used), | 2754 | le16_to_cpu(dx_root->dr_entries.de_num_used)); |
2767 | de->name_len, de->name); | ||
2768 | 2755 | ||
2769 | ocfs2_dx_entry_list_insert(&dx_root->dr_entries, &hinfo, | 2756 | ocfs2_dx_entry_list_insert(&dx_root->dr_entries, &hinfo, |
2770 | dirent_blk); | 2757 | dirent_blk); |
@@ -3235,7 +3222,6 @@ static int ocfs2_do_extend_dir(struct super_block *sb, | |||
3235 | bail: | 3222 | bail: |
3236 | if (did_quota && status < 0) | 3223 | if (did_quota && status < 0) |
3237 | dquot_free_space_nodirty(dir, ocfs2_clusters_to_bytes(sb, 1)); | 3224 | dquot_free_space_nodirty(dir, ocfs2_clusters_to_bytes(sb, 1)); |
3238 | mlog_exit(status); | ||
3239 | return status; | 3225 | return status; |
3240 | } | 3226 | } |
3241 | 3227 | ||
@@ -3270,8 +3256,6 @@ static int ocfs2_extend_dir(struct ocfs2_super *osb, | |||
3270 | struct ocfs2_extent_tree et; | 3256 | struct ocfs2_extent_tree et; |
3271 | struct buffer_head *dx_root_bh = lookup->dl_dx_root_bh; | 3257 | struct buffer_head *dx_root_bh = lookup->dl_dx_root_bh; |
3272 | 3258 | ||
3273 | mlog_entry_void(); | ||
3274 | |||
3275 | if (OCFS2_I(dir)->ip_dyn_features & OCFS2_INLINE_DATA_FL) { | 3259 | if (OCFS2_I(dir)->ip_dyn_features & OCFS2_INLINE_DATA_FL) { |
3276 | /* | 3260 | /* |
3277 | * This would be a code error as an inline directory should | 3261 | * This would be a code error as an inline directory should |
@@ -3320,8 +3304,8 @@ static int ocfs2_extend_dir(struct ocfs2_super *osb, | |||
3320 | down_write(&OCFS2_I(dir)->ip_alloc_sem); | 3304 | down_write(&OCFS2_I(dir)->ip_alloc_sem); |
3321 | drop_alloc_sem = 1; | 3305 | drop_alloc_sem = 1; |
3322 | dir_i_size = i_size_read(dir); | 3306 | dir_i_size = i_size_read(dir); |
3323 | mlog(0, "extending dir %llu (i_size = %lld)\n", | 3307 | trace_ocfs2_extend_dir((unsigned long long)OCFS2_I(dir)->ip_blkno, |
3324 | (unsigned long long)OCFS2_I(dir)->ip_blkno, dir_i_size); | 3308 | dir_i_size); |
3325 | 3309 | ||
3326 | /* dir->i_size is always block aligned. */ | 3310 | /* dir->i_size is always block aligned. */ |
3327 | spin_lock(&OCFS2_I(dir)->ip_lock); | 3311 | spin_lock(&OCFS2_I(dir)->ip_lock); |
@@ -3436,7 +3420,6 @@ bail: | |||
3436 | 3420 | ||
3437 | brelse(new_bh); | 3421 | brelse(new_bh); |
3438 | 3422 | ||
3439 | mlog_exit(status); | ||
3440 | return status; | 3423 | return status; |
3441 | } | 3424 | } |
3442 | 3425 | ||
@@ -3583,8 +3566,9 @@ next: | |||
3583 | status = 0; | 3566 | status = 0; |
3584 | bail: | 3567 | bail: |
3585 | brelse(bh); | 3568 | brelse(bh); |
3569 | if (status) | ||
3570 | mlog_errno(status); | ||
3586 | 3571 | ||
3587 | mlog_exit(status); | ||
3588 | return status; | 3572 | return status; |
3589 | } | 3573 | } |
3590 | 3574 | ||
@@ -3815,9 +3799,9 @@ static int ocfs2_dx_dir_rebalance(struct ocfs2_super *osb, struct inode *dir, | |||
3815 | struct ocfs2_dx_root_block *dx_root; | 3799 | struct ocfs2_dx_root_block *dx_root; |
3816 | struct ocfs2_dx_leaf *tmp_dx_leaf = NULL; | 3800 | struct ocfs2_dx_leaf *tmp_dx_leaf = NULL; |
3817 | 3801 | ||
3818 | mlog(0, "DX Dir: %llu, rebalance leaf leaf_blkno: %llu insert: %u\n", | 3802 | trace_ocfs2_dx_dir_rebalance((unsigned long long)OCFS2_I(dir)->ip_blkno, |
3819 | (unsigned long long)OCFS2_I(dir)->ip_blkno, | 3803 | (unsigned long long)leaf_blkno, |
3820 | (unsigned long long)leaf_blkno, insert_hash); | 3804 | insert_hash); |
3821 | 3805 | ||
3822 | ocfs2_init_dx_root_extent_tree(&et, INODE_CACHE(dir), dx_root_bh); | 3806 | ocfs2_init_dx_root_extent_tree(&et, INODE_CACHE(dir), dx_root_bh); |
3823 | 3807 | ||
@@ -3897,8 +3881,7 @@ static int ocfs2_dx_dir_rebalance(struct ocfs2_super *osb, struct inode *dir, | |||
3897 | goto out_commit; | 3881 | goto out_commit; |
3898 | } | 3882 | } |
3899 | 3883 | ||
3900 | mlog(0, "Split leaf (%u) at %u, insert major hash is %u\n", | 3884 | trace_ocfs2_dx_dir_rebalance_split(leaf_cpos, split_hash, insert_hash); |
3901 | leaf_cpos, split_hash, insert_hash); | ||
3902 | 3885 | ||
3903 | /* | 3886 | /* |
3904 | * We have to carefully order operations here. There are items | 3887 | * We have to carefully order operations here. There are items |
@@ -4355,8 +4338,8 @@ int ocfs2_prepare_dir_for_insert(struct ocfs2_super *osb, | |||
4355 | unsigned int blocks_wanted = 1; | 4338 | unsigned int blocks_wanted = 1; |
4356 | struct buffer_head *bh = NULL; | 4339 | struct buffer_head *bh = NULL; |
4357 | 4340 | ||
4358 | mlog(0, "getting ready to insert namelen %d into dir %llu\n", | 4341 | trace_ocfs2_prepare_dir_for_insert( |
4359 | namelen, (unsigned long long)OCFS2_I(dir)->ip_blkno); | 4342 | (unsigned long long)OCFS2_I(dir)->ip_blkno, namelen); |
4360 | 4343 | ||
4361 | if (!namelen) { | 4344 | if (!namelen) { |
4362 | ret = -EINVAL; | 4345 | ret = -EINVAL; |