From 1b5e8b8639c675042634dea27fe780b4de3c5ae4 Mon Sep 17 00:00:00 2001 From: Jeff Mahoney Date: Mon, 30 Mar 2009 14:02:24 -0400 Subject: [PATCH] --- yaml --- r: 138845 b: refs/heads/master c: 78b6513d2881f1a759fb9825a036d926392de084 h: refs/heads/master i: 138843: 68ef8caccc10db74401a047d4e188fb046519c5a v: v3 --- [refs] | 2 +- trunk/fs/reiserfs/prints.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 49a3364c8965..b5b94e12d421 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fd7cb031efb1dd71cb731668e2f597d9e61acdcb +refs/heads/master: 78b6513d2881f1a759fb9825a036d926392de084 diff --git a/trunk/fs/reiserfs/prints.c b/trunk/fs/reiserfs/prints.c index b87b23717c23..de71372f0dfe 100644 --- a/trunk/fs/reiserfs/prints.c +++ b/trunk/fs/reiserfs/prints.c @@ -184,7 +184,7 @@ static char *is_there_reiserfs_struct(char *fmt, int *what) printk ("bad key %lu %lu %lu %lu", key->k_dir_id, key->k_objectid, key->k_offset, key->k_uniqueness); */ - +static DEFINE_SPINLOCK(error_lock); static void prepare_error_buf(const char *fmt, va_list args) { char *fmt1 = fmt_buf; @@ -192,6 +192,8 @@ static void prepare_error_buf(const char *fmt, va_list args) char *p = error_buf; int what; + spin_lock(&error_lock); + strcpy(fmt1, fmt); while ((k = is_there_reiserfs_struct(fmt1, &what)) != NULL) { @@ -237,6 +239,7 @@ static void prepare_error_buf(const char *fmt, va_list args) fmt1 = k + 2; } vsprintf(p, fmt1, args); + spin_unlock(&error_lock); }