Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ocfs2: Remove masklog ML_UPTODATE.

Remove mlog(0,...) and mlog(ML_UPTODATE,...) from
fs/ocfs2/uptodate.c and fs/ocfs2/buffer_head_io.c.

The masklog UPTODATE is removed finally.

Signed-off-by: Tao Ma <boyu.mt@taobao.com>

Tao Ma d701485a 15057e98

+79 -41
+1 -2
fs/ocfs2/buffer_head_io.c
··· 247 247 */ 248 248 249 249 if (!ignore_cache && !ocfs2_buffer_uptodate(ci, bh)) { 250 - mlog(ML_UPTODATE, 251 - "bh (%llu), owner %llu not uptodate\n", 250 + trace_ocfs2_read_blocks_from_disk( 252 251 (unsigned long long)bh->b_blocknr, 253 252 (unsigned long long)ocfs2_metadata_cache_owner(ci)); 254 253 /* We're using ignore_cache here to say
-1
fs/ocfs2/cluster/masklog.c
··· 93 93 define_mask(DLM_RECOVERY), 94 94 define_mask(AIO), 95 95 define_mask(DLM_GLUE), 96 - define_mask(UPTODATE), 97 96 define_mask(VOTE), 98 97 define_mask(CONN), 99 98 define_mask(QUORUM),
-1
fs/ocfs2/cluster/masklog.h
··· 95 95 #define ML_DLM_RECOVERY 0x0000000000001000ULL /* dlm master functions */ 96 96 #define ML_AIO 0x0000000000002000ULL /* ocfs2 aio read and write */ 97 97 #define ML_DLM_GLUE 0x0000000000080000ULL /* ocfs2 dlm glue layer */ 98 - #define ML_UPTODATE 0x0000000000200000ULL /* ocfs2 caching sequence #'s */ 99 98 #define ML_VOTE 0x0000000001000000ULL /* ocfs2 node messaging */ 100 99 #define ML_CONN 0x0000000004000000ULL /* net connection management */ 101 100 #define ML_QUORUM 0x0000000008000000ULL /* net connection quorum */
+42
fs/ocfs2/ocfs2_trace.h
··· 2649 2649 2650 2650 DEFINE_OCFS2_ULL_EVENT(ocfs2_read_blocks_sync_jbd); 2651 2651 2652 + DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_read_blocks_from_disk); 2653 + 2652 2654 DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_read_blocks_bh); 2653 2655 2654 2656 DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_read_blocks_end); ··· 2690 2688 ); 2691 2689 2692 2690 /* End of trace events for fs/ocfs2/buffer_head_io.c. */ 2691 + 2692 + /* Trace events for fs/ocfs2/uptodate.c. */ 2693 + 2694 + DEFINE_OCFS2_ULL_EVENT(ocfs2_purge_copied_metadata_tree); 2695 + 2696 + DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_metadata_cache_purge); 2697 + 2698 + DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_buffer_cached_begin); 2699 + 2700 + TRACE_EVENT(ocfs2_buffer_cached_end, 2701 + TP_PROTO(int index, void *item), 2702 + TP_ARGS(index, item), 2703 + TP_STRUCT__entry( 2704 + __field(int, index) 2705 + __field(void *, item) 2706 + ), 2707 + TP_fast_assign( 2708 + __entry->index = index; 2709 + __entry->item = item; 2710 + ), 2711 + TP_printk("%d %p", __entry->index, __entry->item) 2712 + ); 2713 + 2714 + DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_append_cache_array); 2715 + 2716 + DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_insert_cache_tree); 2717 + 2718 + DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_expand_cache); 2719 + 2720 + DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_set_buffer_uptodate); 2721 + 2722 + DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_set_buffer_uptodate_begin); 2723 + 2724 + DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_remove_metadata_array); 2725 + 2726 + DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_remove_metadata_tree); 2727 + 2728 + DEFINE_OCFS2_ULL_ULL_UINT_UINT_EVENT(ocfs2_remove_block_from_cache); 2729 + 2730 + /* End of trace events for fs/ocfs2/uptodate.c. */ 2693 2731 #endif /* _TRACE_OCFS2_H */ 2694 2732 2695 2733 /* This part must be outside protection */
+36 -37
fs/ocfs2/uptodate.c
··· 54 54 #include <linux/buffer_head.h> 55 55 #include <linux/rbtree.h> 56 56 57 - #define MLOG_MASK_PREFIX ML_UPTODATE 58 - 59 57 #include <cluster/masklog.h> 60 58 61 59 #include "ocfs2.h" 62 60 63 61 #include "inode.h" 64 62 #include "uptodate.h" 63 + #include "ocfs2_trace.h" 65 64 66 65 struct ocfs2_meta_cache_item { 67 66 struct rb_node c_node; ··· 151 152 while ((node = rb_last(root)) != NULL) { 152 153 item = rb_entry(node, struct ocfs2_meta_cache_item, c_node); 153 154 154 - mlog(0, "Purge item %llu\n", 155 - (unsigned long long) item->c_block); 155 + trace_ocfs2_purge_copied_metadata_tree( 156 + (unsigned long long) item->c_block); 156 157 157 158 rb_erase(&item->c_node, root); 158 159 kmem_cache_free(ocfs2_uptodate_cachep, item); ··· 179 180 tree = !(ci->ci_flags & OCFS2_CACHE_FL_INLINE); 180 181 to_purge = ci->ci_num_cached; 181 182 182 - mlog(0, "Purge %u %s items from Owner %llu\n", to_purge, 183 - tree ? "array" : "tree", 184 - (unsigned long long)ocfs2_metadata_cache_owner(ci)); 183 + trace_ocfs2_metadata_cache_purge( 184 + (unsigned long long)ocfs2_metadata_cache_owner(ci), 185 + to_purge, tree); 185 186 186 187 /* If we're a tree, save off the root so that we can safely 187 188 * initialize the cache. We do the work to free tree members ··· 248 249 249 250 ocfs2_metadata_cache_lock(ci); 250 251 251 - mlog(0, "Owner %llu, query block %llu (inline = %u)\n", 252 - (unsigned long long)ocfs2_metadata_cache_owner(ci), 253 - (unsigned long long) bh->b_blocknr, 254 - !!(ci->ci_flags & OCFS2_CACHE_FL_INLINE)); 252 + trace_ocfs2_buffer_cached_begin( 253 + (unsigned long long)ocfs2_metadata_cache_owner(ci), 254 + (unsigned long long) bh->b_blocknr, 255 + !!(ci->ci_flags & OCFS2_CACHE_FL_INLINE)); 255 256 256 257 if (ci->ci_flags & OCFS2_CACHE_FL_INLINE) 257 258 index = ocfs2_search_cache_array(ci, bh->b_blocknr); ··· 260 261 261 262 ocfs2_metadata_cache_unlock(ci); 262 263 263 - mlog(0, "index = %d, item = %p\n", index, item); 264 + trace_ocfs2_buffer_cached_end(index, item); 264 265 265 266 return (index != -1) || (item != NULL); 266 267 } ··· 305 306 { 306 307 BUG_ON(ci->ci_num_cached >= OCFS2_CACHE_INFO_MAX_ARRAY); 307 308 308 - mlog(0, "block %llu takes position %u\n", (unsigned long long) block, 309 - ci->ci_num_cached); 309 + trace_ocfs2_append_cache_array( 310 + (unsigned long long)ocfs2_metadata_cache_owner(ci), 311 + (unsigned long long)block, ci->ci_num_cached); 310 312 311 313 ci->ci_cache.ci_array[ci->ci_num_cached] = block; 312 314 ci->ci_num_cached++; ··· 324 324 struct rb_node **p = &ci->ci_cache.ci_tree.rb_node; 325 325 struct ocfs2_meta_cache_item *tmp; 326 326 327 - mlog(0, "Insert block %llu num = %u\n", (unsigned long long) block, 328 - ci->ci_num_cached); 327 + trace_ocfs2_insert_cache_tree( 328 + (unsigned long long)ocfs2_metadata_cache_owner(ci), 329 + (unsigned long long)block, ci->ci_num_cached); 329 330 330 331 while(*p) { 331 332 parent = *p; ··· 390 389 tree[i] = NULL; 391 390 } 392 391 393 - mlog(0, "Expanded %llu to a tree cache: flags 0x%x, num = %u\n", 394 - (unsigned long long)ocfs2_metadata_cache_owner(ci), 395 - ci->ci_flags, ci->ci_num_cached); 392 + trace_ocfs2_expand_cache( 393 + (unsigned long long)ocfs2_metadata_cache_owner(ci), 394 + ci->ci_flags, ci->ci_num_cached); 396 395 } 397 396 398 397 /* Slow path function - memory allocation is necessary. See the ··· 406 405 struct ocfs2_meta_cache_item *tree[OCFS2_CACHE_INFO_MAX_ARRAY] = 407 406 { NULL, }; 408 407 409 - mlog(0, "Owner %llu, block %llu, expand = %d\n", 410 - (unsigned long long)ocfs2_metadata_cache_owner(ci), 411 - (unsigned long long)block, expand_tree); 408 + trace_ocfs2_set_buffer_uptodate( 409 + (unsigned long long)ocfs2_metadata_cache_owner(ci), 410 + (unsigned long long)block, expand_tree); 412 411 413 412 new = kmem_cache_alloc(ocfs2_uptodate_cachep, GFP_NOFS); 414 413 if (!new) { ··· 434 433 435 434 ocfs2_metadata_cache_lock(ci); 436 435 if (ocfs2_insert_can_use_array(ci)) { 437 - mlog(0, "Someone cleared the tree underneath us\n"); 438 436 /* Ok, items were removed from the cache in between 439 437 * locks. Detect this and revert back to the fast path */ 440 438 ocfs2_append_cache_array(ci, block); ··· 490 490 if (ocfs2_buffer_cached(ci, bh)) 491 491 return; 492 492 493 - mlog(0, "Owner %llu, inserting block %llu\n", 494 - (unsigned long long)ocfs2_metadata_cache_owner(ci), 495 - (unsigned long long)bh->b_blocknr); 493 + trace_ocfs2_set_buffer_uptodate_begin( 494 + (unsigned long long)ocfs2_metadata_cache_owner(ci), 495 + (unsigned long long)bh->b_blocknr); 496 496 497 497 /* No need to recheck under spinlock - insertion is guarded by 498 498 * co_io_lock() */ ··· 542 542 BUG_ON(index >= ci->ci_num_cached); 543 543 BUG_ON(!ci->ci_num_cached); 544 544 545 - mlog(0, "remove index %d (num_cached = %u\n", index, 546 - ci->ci_num_cached); 545 + trace_ocfs2_remove_metadata_array( 546 + (unsigned long long)ocfs2_metadata_cache_owner(ci), 547 + index, ci->ci_num_cached); 547 548 548 549 ci->ci_num_cached--; 549 550 ··· 560 559 static void ocfs2_remove_metadata_tree(struct ocfs2_caching_info *ci, 561 560 struct ocfs2_meta_cache_item *item) 562 561 { 563 - mlog(0, "remove block %llu from tree\n", 564 - (unsigned long long) item->c_block); 562 + trace_ocfs2_remove_metadata_tree( 563 + (unsigned long long)ocfs2_metadata_cache_owner(ci), 564 + (unsigned long long)item->c_block); 565 565 566 566 rb_erase(&item->c_node, &ci->ci_cache.ci_tree); 567 567 ci->ci_num_cached--; ··· 575 573 struct ocfs2_meta_cache_item *item = NULL; 576 574 577 575 ocfs2_metadata_cache_lock(ci); 578 - mlog(0, "Owner %llu, remove %llu, items = %u, array = %u\n", 579 - (unsigned long long)ocfs2_metadata_cache_owner(ci), 580 - (unsigned long long) block, ci->ci_num_cached, 581 - ci->ci_flags & OCFS2_CACHE_FL_INLINE); 576 + trace_ocfs2_remove_block_from_cache( 577 + (unsigned long long)ocfs2_metadata_cache_owner(ci), 578 + (unsigned long long) block, ci->ci_num_cached, 579 + ci->ci_flags); 582 580 583 581 if (ci->ci_flags & OCFS2_CACHE_FL_INLINE) { 584 582 index = ocfs2_search_cache_array(ci, block); ··· 627 625 0, SLAB_HWCACHE_ALIGN, NULL); 628 626 if (!ocfs2_uptodate_cachep) 629 627 return -ENOMEM; 630 - 631 - mlog(0, "%u inlined cache items per inode.\n", 632 - OCFS2_CACHE_INFO_MAX_ARRAY); 633 628 634 629 return 0; 635 630 }