Skip to contentSkip to conversation

ext4: remove duplicate remount check for JOURNAL_CHECKSUM change

PATCH Applied Eric Sandeen 2 participants 4 messages Feb 10, 2015 – Feb 13, 2015 ext4 file system

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 ext4: remove duplicate remount check for JOURNAL_CHECKSUM change

commits c6d3d56d and 6b992ff2 each added the same test for, and rejection of, changing journal_checksum during remount. One suffices.

While we're at it, remove old comment about the "check" option which has been deprecated for some time now.

---

fs/ext4/super.c +0 -10
index 74c5f53..f300a56 100644
@@ -4845,9 +4845,6 @@ static int ext4_remount(struct super_block *sb, int *flags, char *data)
 	if (sbi->s_journal && sbi->s_journal->j_task->io_context)
 		journal_ioprio = sbi->s_journal->j_task->io_context->ioprio;
 
-	/*
-	 * Allow the "check" option to be passed as a remount option.
-	 */
 	if (!parse_options(data, sb, NULL, &journal_ioprio, 1)) {
 		err = -EINVAL;
 		goto restore_opts;
@@ -4861,14 +4858,6 @@ static int ext4_remount(struct super_block *sb, int *flags, char *data)
 		goto restore_opts;
 	}
 
-	if ((old_opts.s_mount_opt & EXT4_MOUNT_JOURNAL_CHECKSUM) ^
-	    test_opt(sb, JOURNAL_CHECKSUM)) {
-		ext4_msg(sb, KERN_ERR, "changing journal_checksum "
-			 "during remount not supported");
-		err = -EINVAL;
-		goto restore_opts;
-	}
#1 lore raw

RFC PATCH 2/2 ext4: ignore journal checksum on remount; don't fail

As of v3.18, ext4 started rejecting a remount which changes the journal_checksum option.

Prior to that, it was simply ignored; the problem here is that if someone has this in their fstab for the root fs, now the box fails to boot properly, because remount of root with the new options will fail, and the box proceeds with a readonly root.

I think it is a little nicer behavior to accept the option, but warn that it's being ignored, rather than failing the mount, but that might be a subjective matter...

---

ALSO: Not tested. Please double check my mad bitwise skillz to be sure I'm re-setting the option properly. ;) Thanks!

fs/ext4/super.c +2 -3
index f300a56..250ad25 100644
@@ -4853,9 +4853,8 @@ static int ext4_remount(struct super_block *sb, int *flags, char *data)
 	if ((old_opts.s_mount_opt & EXT4_MOUNT_JOURNAL_CHECKSUM) ^
 	    test_opt(sb, JOURNAL_CHECKSUM)) {
 		ext4_msg(sb, KERN_ERR, "changing journal_checksum "
-			 "during remount not supported");
-		err = -EINVAL;
-		goto restore_opts;
+			 "during remount not supported; ignoring");
+		sbi->s_mount_opt ^= EXT4_MOUNT_JOURNAL_CHECKSUM;
 	}
 
 	if (test_opt(sb, DATA_FLAGS) == EXT4_MOUNT_JOURNAL_DATA) {

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

maintainer Applied
#2 lore raw

Re: [PATCH 2/2, RFC] ext4: ignore journal checksum on remount; don't fail

Quoted 8 lines · Eric Sandeen

As of v3.18, ext4 started rejecting a remount which changes the journal_checksum option.

Prior to that, it was simply ignored; the problem here is that if someone has this in their fstab for the root fs, now the box fails to boot properly, because remount of root with the new options will fail, and the box proceeds with a readonly root.

Quoted 6 lines

I think it is a little nicer behavior to accept the option, but warn that it's being ignored, rather than failing the mount, but that might be a subjective matter...

Applied, thanks.

- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

maintainer Applied
#3 lore raw
In reply to Eric Sandeen
Quoted 7 lines · Eric Sandeen

commits c6d3d56d and 6b992ff2 each added the same test for, and rejection of, changing journal_checksum during remount. One suffices.

While we're at it, remove old comment about the "check" option which has been deprecated for some time now.

Applied, thanks.

- Ted