diff options
-rw-r--r-- | fs/hpfs/super.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/fs/hpfs/super.c b/fs/hpfs/super.c index cde044d41f69..68a9bed05628 100644 --- a/fs/hpfs/super.c +++ b/fs/hpfs/super.c | |||
@@ -52,17 +52,20 @@ static void unmark_dirty(struct super_block *s) | |||
52 | } | 52 | } |
53 | 53 | ||
54 | /* Filesystem error... */ | 54 | /* Filesystem error... */ |
55 | static char err_buf[1024]; | ||
56 | |||
57 | void hpfs_error(struct super_block *s, const char *fmt, ...) | 55 | void hpfs_error(struct super_block *s, const char *fmt, ...) |
58 | { | 56 | { |
57 | struct va_format vaf; | ||
59 | va_list args; | 58 | va_list args; |
60 | 59 | ||
61 | va_start(args, fmt); | 60 | va_start(args, fmt); |
62 | vsnprintf(err_buf, sizeof(err_buf), fmt, args); | 61 | |
62 | vaf.fmt = fmt; | ||
63 | vaf.va = &args; | ||
64 | |||
65 | pr_err("filesystem error: %pV", &vaf); | ||
66 | |||
63 | va_end(args); | 67 | va_end(args); |
64 | 68 | ||
65 | pr_err("filesystem error: %s", err_buf); | ||
66 | if (!hpfs_sb(s)->sb_was_error) { | 69 | if (!hpfs_sb(s)->sb_was_error) { |
67 | if (hpfs_sb(s)->sb_err == 2) { | 70 | if (hpfs_sb(s)->sb_err == 2) { |
68 | pr_cont("; crashing the system because you wanted it\n"); | 71 | pr_cont("; crashing the system because you wanted it\n"); |