diff options
author | Joe Perches <joe@perches.com> | 2013-06-04 19:39:15 -0400 |
---|---|---|
committer | Dave Kleikamp <dave.kleikamp@oracle.com> | 2013-06-05 15:47:19 -0400 |
commit | eb8630d7d2fd13589e6a7a3ae2fe1f75f867fbed (patch) | |
tree | 16a5040af9b8df061385de9e0ab8e13e51790ddf /fs/jfs/super.c | |
parent | 21d1101f013c12d1dd78cfdf263d619c80975b47 (diff) |
jfs: Update jfs_error
Use a more current logging style.
Add __printf format and argument verification.
Remove embedded function names from formats.
Add %pf, __builtin_return_address(0) to jfs_error.
Add newlines to formats for kernel style consistency.
(One format already had an erroneous newline)
Coalesce formats and align arguments.
Object size reduced ~1KiB.
$ size fs/jfs/built-in.o*
text data bss dec hex filename
201891 35488 63936 301315 49903 fs/jfs/built-in.o.new
202821 35488 64192 302501 49da5 fs/jfs/built-in.o.old
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Diffstat (limited to 'fs/jfs/super.c')
-rw-r--r-- | fs/jfs/super.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/fs/jfs/super.c b/fs/jfs/super.c index 788e0a9c1fb0..6669aa2042c3 100644 --- a/fs/jfs/super.c +++ b/fs/jfs/super.c | |||
@@ -92,16 +92,20 @@ static void jfs_handle_error(struct super_block *sb) | |||
92 | /* nothing is done for continue beyond marking the superblock dirty */ | 92 | /* nothing is done for continue beyond marking the superblock dirty */ |
93 | } | 93 | } |
94 | 94 | ||
95 | void jfs_error(struct super_block *sb, const char * function, ...) | 95 | void jfs_error(struct super_block *sb, const char *fmt, ...) |
96 | { | 96 | { |
97 | static char error_buf[256]; | 97 | struct va_format vaf; |
98 | va_list args; | 98 | va_list args; |
99 | 99 | ||
100 | va_start(args, function); | 100 | va_start(args, fmt); |
101 | vsnprintf(error_buf, sizeof(error_buf), function, args); | 101 | |
102 | va_end(args); | 102 | vaf.fmt = fmt; |
103 | vaf.va = &args; | ||
103 | 104 | ||
104 | pr_err("ERROR: (device %s): %s\n", sb->s_id, error_buf); | 105 | pr_err("ERROR: (device %s): %pf: %pV\n", |
106 | sb->s_id, __builtin_return_address(0), &vaf); | ||
107 | |||
108 | va_end(args); | ||
105 | 109 | ||
106 | jfs_handle_error(sb); | 110 | jfs_handle_error(sb); |
107 | } | 111 | } |
@@ -617,7 +621,7 @@ static int jfs_freeze(struct super_block *sb) | |||
617 | txQuiesce(sb); | 621 | txQuiesce(sb); |
618 | rc = lmLogShutdown(log); | 622 | rc = lmLogShutdown(log); |
619 | if (rc) { | 623 | if (rc) { |
620 | jfs_error(sb, "jfs_freeze: lmLogShutdown failed"); | 624 | jfs_error(sb, "lmLogShutdown failed\n"); |
621 | 625 | ||
622 | /* let operations fail rather than hang */ | 626 | /* let operations fail rather than hang */ |
623 | txResume(sb); | 627 | txResume(sb); |
@@ -646,12 +650,12 @@ static int jfs_unfreeze(struct super_block *sb) | |||
646 | if (!(sb->s_flags & MS_RDONLY)) { | 650 | if (!(sb->s_flags & MS_RDONLY)) { |
647 | rc = updateSuper(sb, FM_MOUNT); | 651 | rc = updateSuper(sb, FM_MOUNT); |
648 | if (rc) { | 652 | if (rc) { |
649 | jfs_error(sb, "jfs_unfreeze: updateSuper failed"); | 653 | jfs_error(sb, "updateSuper failed\n"); |
650 | goto out; | 654 | goto out; |
651 | } | 655 | } |
652 | rc = lmLogInit(log); | 656 | rc = lmLogInit(log); |
653 | if (rc) | 657 | if (rc) |
654 | jfs_error(sb, "jfs_unfreeze: lmLogInit failed"); | 658 | jfs_error(sb, "lmLogInit failed\n"); |
655 | out: | 659 | out: |
656 | txResume(sb); | 660 | txResume(sb); |
657 | } | 661 | } |