aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/ext4/super.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 6db81fbcbaa6..20da99da0a34 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -597,14 +597,15 @@ void __ext4_std_error(struct super_block *sb, const char *function,
597void __ext4_abort(struct super_block *sb, const char *function, 597void __ext4_abort(struct super_block *sb, const char *function,
598 unsigned int line, const char *fmt, ...) 598 unsigned int line, const char *fmt, ...)
599{ 599{
600 struct va_format vaf;
600 va_list args; 601 va_list args;
601 602
602 save_error_info(sb, function, line); 603 save_error_info(sb, function, line);
603 va_start(args, fmt); 604 va_start(args, fmt);
604 printk(KERN_CRIT "EXT4-fs error (device %s): %s:%d: ", sb->s_id, 605 vaf.fmt = fmt;
605 function, line); 606 vaf.va = &args;
606 vprintk(fmt, args); 607 printk(KERN_CRIT "EXT4-fs error (device %s): %s:%d: %pV\n",
607 printk("\n"); 608 sb->s_id, function, line, &vaf);
608 va_end(args); 609 va_end(args);
609 610
610 if ((sb->s_flags & MS_RDONLY) == 0) { 611 if ((sb->s_flags & MS_RDONLY) == 0) {
@@ -2715,12 +2716,12 @@ static void print_daily_error_info(unsigned long arg)
2715 es->s_first_error_func, 2716 es->s_first_error_func,
2716 le32_to_cpu(es->s_first_error_line)); 2717 le32_to_cpu(es->s_first_error_line));
2717 if (es->s_first_error_ino) 2718 if (es->s_first_error_ino)
2718 printk(": inode %u", 2719 printk(KERN_CONT ": inode %u",
2719 le32_to_cpu(es->s_first_error_ino)); 2720 le32_to_cpu(es->s_first_error_ino));
2720 if (es->s_first_error_block) 2721 if (es->s_first_error_block)
2721 printk(": block %llu", (unsigned long long) 2722 printk(KERN_CONT ": block %llu", (unsigned long long)
2722 le64_to_cpu(es->s_first_error_block)); 2723 le64_to_cpu(es->s_first_error_block));
2723 printk("\n"); 2724 printk(KERN_CONT "\n");
2724 } 2725 }
2725 if (es->s_last_error_time) { 2726 if (es->s_last_error_time) {
2726 printk(KERN_NOTICE "EXT4-fs (%s): last error at time %u: %.*s:%d", 2727 printk(KERN_NOTICE "EXT4-fs (%s): last error at time %u: %.*s:%d",
@@ -2729,12 +2730,12 @@ static void print_daily_error_info(unsigned long arg)
2729 es->s_last_error_func, 2730 es->s_last_error_func,
2730 le32_to_cpu(es->s_last_error_line)); 2731 le32_to_cpu(es->s_last_error_line));
2731 if (es->s_last_error_ino) 2732 if (es->s_last_error_ino)
2732 printk(": inode %u", 2733 printk(KERN_CONT ": inode %u",
2733 le32_to_cpu(es->s_last_error_ino)); 2734 le32_to_cpu(es->s_last_error_ino));
2734 if (es->s_last_error_block) 2735 if (es->s_last_error_block)
2735 printk(": block %llu", (unsigned long long) 2736 printk(KERN_CONT ": block %llu", (unsigned long long)
2736 le64_to_cpu(es->s_last_error_block)); 2737 le64_to_cpu(es->s_last_error_block));
2737 printk("\n"); 2738 printk(KERN_CONT "\n");
2738 } 2739 }
2739 mod_timer(&sbi->s_err_report, jiffies + 24*60*60*HZ); /* Once a day */ 2740 mod_timer(&sbi->s_err_report, jiffies + 24*60*60*HZ); /* Once a day */
2740} 2741}