summaryrefslogtreecommitdiff
path: root/fs/ext4/super.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2008-09-16 14:36:17 -0400
committerTheodore Ts'o <tytso@mit.edu>2008-09-16 14:36:17 -0400
commit05496769e5da83ce22ed97345afd9c7b71d6bd24 (patch)
tree545c4d66296fe69ab24d34fd2f0298fb8ee66e4f /fs/ext4/super.c
parent899fc1a4cf404747de2666534d508804597ee22f (diff)
downloadlwn-05496769e5da83ce22ed97345afd9c7b71d6bd24.tar.gz
lwn-05496769e5da83ce22ed97345afd9c7b71d6bd24.zip
jbd2: clean up how the journal device name is printed
Calculate the journal device name once and stash it away in the journal_s structure. This avoids needing to call bdevname() everywhere and reduces stack usage by not needing to allocate an on-stack buffer. In addition, we eliminate the '/' that can appear in device names (e.g. "cciss/c0d0p9" --- see kernel bugzilla #11321) that can cause problems when creating proc directory names, and include the inode number to support ocfs2 which creates multiple journals with different inode numbers. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/super.c')
-rw-r--r--fs/ext4/super.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index f58cc0309dc9..64e1c21eb5d2 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -1476,15 +1476,9 @@ static int ext4_setup_super(struct super_block *sb, struct ext4_super_block *es,
EXT4_INODES_PER_GROUP(sb),
sbi->s_mount_opt);
- if (EXT4_SB(sb)->s_journal->j_inode == NULL) {
- char b[BDEVNAME_SIZE];
-
- printk(KERN_INFO "EXT4 FS on %s, external journal on %s\n",
- sb->s_id, bdevname(EXT4_SB(sb)->s_journal->j_dev, b));
- } else {
- printk(KERN_INFO "EXT4 FS on %s, internal journal\n",
- sb->s_id);
- }
+ printk(KERN_INFO "EXT4 FS on %s, %s journal on %s\n",
+ sb->s_id, EXT4_SB(sb)->s_journal->j_inode ? "internal" :
+ "external", EXT4_SB(sb)->s_journal->j_devname);
return res;
}