Commit 1543306e authored by Joe Perches's avatar Joe Perches Committed by Linus Torvalds

ocfs2: logging: remove static buffer, use vsprintf extension %pV

Use the vsprintf %pV extension to avoid using a static buffer and remove
the now unnecessary buffer.
Signed-off-by: default avatarJoe Perches <joe@perches.com>
Cc: Mark Fasheh <mfasheh@suse.com>
Cc: Joel Becker <jlbec@evilplan.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent e2ac55b6
...@@ -2564,22 +2564,22 @@ static void ocfs2_handle_error(struct super_block *sb) ...@@ -2564,22 +2564,22 @@ static void ocfs2_handle_error(struct super_block *sb)
ocfs2_set_ro_flag(osb, 0); ocfs2_set_ro_flag(osb, 0);
} }
static char error_buf[1024]; void __ocfs2_error(struct super_block *sb, const char *function,
const char *fmt, ...)
void __ocfs2_error(struct super_block *sb,
const char *function,
const char *fmt, ...)
{ {
struct va_format vaf;
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
vsnprintf(error_buf, sizeof(error_buf), fmt, args); vaf.fmt = fmt;
va_end(args); vaf.va = &args;
/* Not using mlog here because we want to show the actual /* Not using mlog here because we want to show the actual
* function the error came from. */ * function the error came from. */
printk(KERN_CRIT "OCFS2: ERROR (device %s): %s: %s\n", printk(KERN_CRIT "OCFS2: ERROR (device %s): %s: %pV\n",
sb->s_id, function, error_buf); sb->s_id, function, &vaf);
va_end(args);
ocfs2_handle_error(sb); ocfs2_handle_error(sb);
} }
...@@ -2587,18 +2587,21 @@ void __ocfs2_error(struct super_block *sb, ...@@ -2587,18 +2587,21 @@ void __ocfs2_error(struct super_block *sb,
/* Handle critical errors. This is intentionally more drastic than /* Handle critical errors. This is intentionally more drastic than
* ocfs2_handle_error, so we only use for things like journal errors, * ocfs2_handle_error, so we only use for things like journal errors,
* etc. */ * etc. */
void __ocfs2_abort(struct super_block* sb, void __ocfs2_abort(struct super_block *sb, const char *function,
const char *function,
const char *fmt, ...) const char *fmt, ...)
{ {
struct va_format vaf;
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
vsnprintf(error_buf, sizeof(error_buf), fmt, args);
va_end(args);
printk(KERN_CRIT "OCFS2: abort (device %s): %s: %s\n", vaf.fmt = fmt;
sb->s_id, function, error_buf); vaf.va = &args;
printk(KERN_CRIT "OCFS2: abort (device %s): %s: %pV\n",
sb->s_id, function, &vaf);
va_end(args);
/* We don't have the cluster support yet to go straight to /* We don't have the cluster support yet to go straight to
* hard readonly in here. Until then, we want to keep * hard readonly in here. Until then, we want to keep
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment