Whamcloud - gitweb
LU-13090 utils: fix lfs_migrate -p for file with pool
[fs/lustre-release.git] / libcfs / libcfs / tracefile.c
index 54e0fab..81cb393 100644 (file)
@@ -247,21 +247,6 @@ static struct cfs_trace_page *cfs_trace_get_tage(struct cfs_trace_cpu_data *tcd,
 int libcfs_debug_msg(struct libcfs_debug_msg_data *msgdata,
                      const char *format, ...)
 {
-        va_list args;
-        int     rc;
-
-        va_start(args, format);
-        rc = libcfs_debug_vmsg2(msgdata, format, args, NULL);
-        va_end(args);
-
-        return rc;
-}
-EXPORT_SYMBOL(libcfs_debug_msg);
-
-int libcfs_debug_vmsg2(struct libcfs_debug_msg_data *msgdata,
-                       const char *format1, va_list args,
-                       const char *format2, ...)
-{
         struct cfs_trace_cpu_data *tcd = NULL;
         struct ptldebug_header     header = {0};
         struct cfs_trace_page     *tage;
@@ -324,7 +309,7 @@ int libcfs_debug_vmsg2(struct libcfs_debug_msg_data *msgdata,
                 }
 
                string_buf = (char *)page_address(tage->page) +
-                                        tage->used + known_size;
+                            tage->used + known_size;
 
                max_nob = PAGE_SIZE - tage->used - known_size;
                if (max_nob <= 0) {
@@ -337,30 +322,29 @@ int libcfs_debug_vmsg2(struct libcfs_debug_msg_data *msgdata,
                }
 
                 needed = 0;
-                if (format1) {
-                        va_copy(ap, args);
-                        needed = vsnprintf(string_buf, max_nob, format1, ap);
-                        va_end(ap);
-                }
+               remain = max_nob - needed;
+               if (remain < 0)
+                       remain = 0;
 
-                if (format2) {
-                        remain = max_nob - needed;
-                        if (remain < 0)
-                                remain = 0;
-
-                        va_start(ap, format2);
-                        needed += vsnprintf(string_buf + needed, remain,
-                                            format2, ap);
-                        va_end(ap);
-                }
+               va_start(ap, format);
+               needed += vsnprintf(string_buf + needed, remain,
+                                   format, ap);
+               va_end(ap);
 
                 if (needed < max_nob) /* well. printing ok.. */
                         break;
         }
 
-       if (*(string_buf+needed-1) != '\n')
+       if (*(string_buf + needed - 1) != '\n') {
                printk(KERN_INFO "format at %s:%d:%s doesn't end in "
                       "newline\n", file, msgdata->msg_line, msgdata->msg_fn);
+       } else if (mask & D_TTY) {
+               /* TTY needs '\r\n' to move carriage to leftmost position */
+               if (needed < 2 || *(string_buf + needed - 2) != '\r')
+                       printk(KERN_INFO "format at %s:%d:%s doesn't end in "
+                              "'\\r\\n'\n", file, msgdata->msg_line,
+                              msgdata->msg_fn);
+       }
 
         header.ph_len = known_size + needed;
        debug_buf = (char *)page_address(tage->page) + tage->used;
@@ -397,7 +381,7 @@ console:
        if (cdls != NULL) {
                if (libcfs_console_ratelimit &&
                    cdls->cdls_next != 0 &&     /* not first time ever */
-                   time_after(jiffies, cdls->cdls_next)) {
+                   time_before(jiffies, cdls->cdls_next)) {
                        /* skipping a console message */
                        cdls->cdls_count++;
                        if (tcd != NULL)
@@ -431,22 +415,14 @@ console:
                 string_buf = cfs_trace_get_console_buffer();
 
                 needed = 0;
-                if (format1 != NULL) {
-                        va_copy(ap, args);
-                        needed = vsnprintf(string_buf,
-                                           CFS_TRACE_CONSOLE_BUFFER_SIZE,
-                                           format1, ap);
-                        va_end(ap);
-                }
-                if (format2 != NULL) {
-                        remain = CFS_TRACE_CONSOLE_BUFFER_SIZE - needed;
-                        if (remain > 0) {
-                                va_start(ap, format2);
-                                needed += vsnprintf(string_buf+needed, remain,
-                                                    format2, ap);
-                                va_end(ap);
-                        }
+               remain = CFS_TRACE_CONSOLE_BUFFER_SIZE - needed;
+               if (remain > 0) {
+                       va_start(ap, format);
+                       needed += vsnprintf(string_buf+needed, remain,
+                                           format, ap);
+                       va_end(ap);
                 }
+
                 cfs_print_to_console(&header, mask,
                                      string_buf, needed, file, msgdata->msg_fn);
 
@@ -461,8 +437,9 @@ console:
                                   cdls->cdls_count,
                                   (cdls->cdls_count > 1) ? "s" : "");
 
-                cfs_print_to_console(&header, mask,
-                                     string_buf, needed, file, msgdata->msg_fn);
+               /* Do not allow print this to TTY */
+               cfs_print_to_console(&header, mask & ~D_TTY, string_buf,
+                                    needed, file, msgdata->msg_fn);
 
                put_cpu();
                 cdls->cdls_count = 0;
@@ -470,7 +447,7 @@ console:
 
         return 0;
 }
-EXPORT_SYMBOL(libcfs_debug_vmsg2);
+EXPORT_SYMBOL(libcfs_debug_msg);
 
 void
 cfs_trace_assertion_failed(const char *str,
@@ -706,7 +683,7 @@ int cfs_tracefile_dump_all_pages(char *filename)
                 cfs_tage_free(tage);
         }
 
-       rc = ll_vfs_fsync_range(filp, 0, LLONG_MAX, 1);
+       rc = vfs_fsync_range(filp, 0, LLONG_MAX, 1);
        if (rc)
                printk(KERN_ERR "sync returns %d\n", rc);
 close:
@@ -745,7 +722,7 @@ int cfs_trace_copyin_string(char *knl_buffer, int knl_buffer_nob,
                 return -EFAULT;
 
         nob = strnlen(knl_buffer, usr_buffer_nob);
-        while (nob-- >= 0)                      /* strip trailing whitespace */
+       while (--nob >= 0)                      /* strip trailing whitespace */
                 if (!isspace(knl_buffer[nob]))
                         break;