diff options
| -rw-r--r-- | fs/ext4/super.c | 21 |
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, | |||
| 597 | void __ext4_abort(struct super_block *sb, const char *function, | 597 | void __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 | } |
