summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorZhouyi Zhou <zhouzhouyi@gmail.com>2018-01-10 00:34:19 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-02-25 11:01:16 +0100
commit5b2336f021d57363a24558686f94e5f6eacad7b0 (patch)
tree00bcc9d36850ac7c4971922e6e8890bcfb381bc9 /fs
parent45d73fe10e5be3a41c9f375bf0233e46358cd057 (diff)
downloadlinux-stable-5b2336f021d57363a24558686f94e5f6eacad7b0.tar.gz
linux-stable-5b2336f021d57363a24558686f94e5f6eacad7b0.tar.bz2
linux-stable-5b2336f021d57363a24558686f94e5f6eacad7b0.zip
ext4: save error to disk in __ext4_grp_locked_error()
commit 06f29cc81f0350261f59643a505010531130eea0 upstream. In the function __ext4_grp_locked_error(), __save_error_info() is called to save error info in super block block, but does not sync that information to disk to info the subsequence fsck after reboot. This patch writes the error information to disk. After this patch, I think there is no obvious EXT4 error handle branches which leads to "Remounting filesystem read-only" will leave the disk partition miss the subsequence fsck. Signed-off-by: Zhouyi Zhou <zhouzhouyi@gmail.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/ext4/super.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 288aac46c317..cc0a2298099d 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -677,6 +677,7 @@ __acquires(bitlock)
}
ext4_unlock_group(sb, grp);
+ ext4_commit_super(sb, 1);
ext4_handle_error(sb);
/*
* We only get here in the ERRORS_RO case; relocking the group