[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1285540709-16217-2-git-send-email-zenczykowski@gmail.com>
Date: Sun, 26 Sep 2010 15:38:29 -0700
From: Maciej Żenczykowski <zenczykowski@...il.com>
To: linux-ext4@...r.kernel.org
Cc: Maciej Żenczykowski <zenczykowski@...il.com>,
Theodore Ts'o <tytso@....edu>
Subject: [PATCH 2/2] ext4: don't update sb journal_devnum when RO dev
An ext4 filesystem on a read-only device, with an external journal
which is at a different device number then recorded in the superblock
will fail to honor the read-only setting of the device and trigger
a superblock update (write).
For example:
- ext4 on a software raid which is in read-only mode
- external journal on a read-write device which has changed device num
- attempt to mount with -o journal_dev=<new_number>
- hits BUG_ON(mddev->ro = 1) in md.c
Cc: Theodore Ts'o <tytso@....edu>
Signed-off-by: Maciej Żenczykowski <zenczykowski@...il.com>
---
fs/ext4/super.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 2614774..48388c7 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -3470,7 +3470,7 @@ static int ext4_load_journal(struct super_block *sb,
EXT4_SB(sb)->s_journal = journal;
ext4_clear_journal_err(sb, es);
- if (journal_devnum &&
+ if (!really_read_only && journal_devnum &&
journal_devnum != le32_to_cpu(es->s_journal_dev)) {
es->s_journal_dev = cpu_to_le32(journal_devnum);
--
1.7.2.3
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists