diff options
| author | Theodore Ts'o <[email protected]> | 2014-03-13 14:14:33 +0000 |
|---|---|---|
| committer | Theodore Ts'o <[email protected]> | 2014-03-13 14:14:33 +0000 |
| commit | 02b9984d640873b7b3809e63f81a0d7e13496886 (patch) | |
| tree | 0ea70d3084a53d20baf68dd14f4dcb4b66d0666f /fs/proc/root.c | |
| parent | jbd2: improve error messages for inconsistent journal heads (diff) | |
| download | kernel-02b9984d640873b7b3809e63f81a0d7e13496886.tar.gz kernel-02b9984d640873b7b3809e63f81a0d7e13496886.zip | |
fs: push sync_filesystem() down to the file system's remount_fs()
Previously, the no-op "mount -o mount /dev/xxx" operation when the
file system is already mounted read-write causes an implied,
unconditional syncfs(). This seems pretty stupid, and it's certainly
documented or guaraunteed to do this, nor is it particularly useful,
except in the case where the file system was mounted rw and is getting
remounted read-only.
However, it's possible that there might be some file systems that are
actually depending on this behavior. In most file systems, it's
probably fine to only call sync_filesystem() when transitioning from
read-write to read-only, and there are some file systems where this is
not needed at all (for example, for a pseudo-filesystem or something
like romfs).
Signed-off-by: "Theodore Ts'o" <[email protected]>
Cc: [email protected]
Cc: Christoph Hellwig <[email protected]>
Cc: Artem Bityutskiy <[email protected]>
Cc: Adrian Hunter <[email protected]>
Cc: Evgeniy Dushistov <[email protected]>
Cc: Jan Kara <[email protected]>
Cc: OGAWA Hirofumi <[email protected]>
Cc: Anders Larsen <[email protected]>
Cc: Phillip Lougher <[email protected]>
Cc: Kees Cook <[email protected]>
Cc: Mikulas Patocka <[email protected]>
Cc: Petr Vandrovec <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Diffstat (limited to 'fs/proc/root.c')
| -rw-r--r-- | fs/proc/root.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/proc/root.c b/fs/proc/root.c index 87dbcbef7fe4..ac823a85cf6e 100644 --- a/fs/proc/root.c +++ b/fs/proc/root.c @@ -92,6 +92,8 @@ static int proc_parse_options(char *options, struct pid_namespace *pid) int proc_remount(struct super_block *sb, int *flags, char *data) { struct pid_namespace *pid = sb->s_fs_info; + + sync_filesystem(sb); return !proc_parse_options(data, pid); } |
