Merge remote-tracking branch 'staging/staging-next'
[deliverable/linux.git] / drivers / staging / lustre / lnet / libcfs / debug.c
index 42b15a76918398831325518799dd758011aaf465..23b36b89096417d42df650aeef016987ce3c03b4 100644 (file)
@@ -328,15 +328,20 @@ libcfs_debug_str2mask(int *mask, const char *str, int is_subsys)
  */
 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) != 0) {
+       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)ktime_get_real_seconds(), (long_ptr_t)arg);
+                        (s64)current_time, (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);
This page took 0.024991 seconds and 5 git commands to generate.