/** * Dump Lustre log to ::debug_file_path by calling tracefile_dump_all_pages() */ void libcfs_debug_dumplog_internal(void *arg) { CFS_DECL_JOURNAL_DATA; CFS_PUSH_JOURNAL; if (strncmp(libcfs_debug_file_path_arr, "NONE", 4) != 0) { snprintf(debug_file_name, sizeof(debug_file_name) - 1, "%s.%ld." LPLD, libcfs_debug_file_path_arr, cfs_time_current_sec(), (long_ptr_t)arg); printk(CFS_KERN_ALERT "LustreError: dumping log to %s\n", debug_file_name); cfs_tracefile_dump_all_pages(debug_file_name); libcfs_run_debug_log_upcall(debug_file_name); } CFS_POP_JOURNAL; }
/** * Dump Lustre log to ::debug_file_path by calling tracefile_dump_all_pages() */ void libcfs_debug_dumplog_internal(void *arg) { void *journal_info; journal_info = current->journal_info; current->journal_info = NULL; if (strncmp(libcfs_debug_file_path_arr, "NONE", 4) != 0) { snprintf(debug_file_name, sizeof(debug_file_name) - 1, "%s.%lld.%ld", libcfs_debug_file_path_arr, (s64)ktime_get_real_seconds(), (long_ptr_t)arg); pr_alert("LustreError: dumping log to %s\n", debug_file_name); cfs_tracefile_dump_all_pages(debug_file_name); libcfs_run_debug_log_upcall(debug_file_name); } current->journal_info = journal_info; }
/** * Dump Lustre log to ::debug_file_path by calling tracefile_dump_all_pages() */ void libcfs_debug_dumplog_internal(void *arg) { static time_t last_dump_time; time_t current_time; DECL_JOURNAL_DATA; PUSH_JOURNAL; current_time = cfs_time_current_sec(); if (strncmp(libcfs_debug_file_path_arr, "NONE", 4) != 0 && current_time > last_dump_time) { last_dump_time = current_time; snprintf(debug_file_name, sizeof(debug_file_name) - 1, "%s.%ld." LPLD, libcfs_debug_file_path_arr, current_time, (long_ptr_t)arg); printk(KERN_ALERT "LustreError: dumping log to %s\n", debug_file_name); cfs_tracefile_dump_all_pages(debug_file_name); libcfs_run_debug_log_upcall(debug_file_name); } POP_JOURNAL; }
/** * Dump Lustre log to ::debug_file_path by calling tracefile_dump_all_pages() */ void libcfs_debug_dumplog_internal(void *arg) { static time64_t last_dump_time; time64_t current_time; void *journal_info; journal_info = current->journal_info; current->journal_info = NULL; current_time = ktime_get_real_seconds(); if (strncmp(libcfs_debug_file_path_arr, "NONE", 4) && current_time > last_dump_time) { last_dump_time = current_time; snprintf(debug_file_name, sizeof(debug_file_name) - 1, "%s.%lld.%ld", libcfs_debug_file_path_arr, (s64)current_time, (long)arg); pr_alert("LustreError: dumping log to %s\n", debug_file_name); cfs_tracefile_dump_all_pages(debug_file_name); libcfs_run_debug_log_upcall(debug_file_name); } current->journal_info = journal_info; }