mirror of
https://github.com/team-infusion-developers/android_kernel_samsung_msm8976.git
synced 2024-09-21 03:43:03 +00:00
fs/super.c: sync ro remount after blocking writers
Move sync_filesystem() after sb_prepare_remount_readonly(). If writers sneak in anywhere from sync_filesystem() to sb_prepare_remount_readonly() it can cause inodes to be dirtied and writeback to occur well after sys_mount() has completely successfully. This was spotted by corrupted ubifs filesystems on reboot, but appears that it can cause issues with any filesystem using writeback. CRs-Fixed: 627559 Change-Id: Ib417b59d39210aab2de4e5ae48b18129e8bc3e26 Cc: Artem Bityutskiy <dedekind1@gmail.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Alexander Viro <viro@zeniv.linux.org.uk> CC: Richard Weinberger <richard@nod.at> Co-authored-by: Richard Weinberger <richard@nod.at> Signed-off-by: Andrew Ruder <andrew.ruder@elecsyscorp.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Git-commit: 807612db2f9940b9fa6deaef054eb16d51bd3e00 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
This commit is contained in:
parent
72bd72cf80
commit
d70cea4841
|
@ -722,7 +722,6 @@ int do_remount_sb(struct super_block *sb, int flags, void *data, int force)
|
|||
if (flags & MS_RDONLY)
|
||||
acct_auto_close(sb);
|
||||
shrink_dcache_sb(sb);
|
||||
sync_filesystem(sb);
|
||||
|
||||
remount_ro = (flags & MS_RDONLY) && !(sb->s_flags & MS_RDONLY);
|
||||
|
||||
|
@ -738,6 +737,8 @@ int do_remount_sb(struct super_block *sb, int flags, void *data, int force)
|
|||
}
|
||||
}
|
||||
|
||||
sync_filesystem(sb);
|
||||
|
||||
if (sb->s_op->remount_fs) {
|
||||
retval = sb->s_op->remount_fs(sb, &flags, data);
|
||||
if (retval) {
|
||||
|
|
Loading…
Reference in a new issue