fs: push sync_filesystem() down to the file system's remount_fs()
authorTheodore Ts'o <[email protected]>
Thu, 13 Mar 2014 14:14:33 +0000 (10:14 -0400)
committerTheodore Ts'o <[email protected]>
Thu, 13 Mar 2014 14:14:33 +0000 (10:14 -0400)
commit02b9984d640873b7b3809e63f81a0d7e13496886
tree0ea70d3084a53d20baf68dd14f4dcb4b66d0666f
parent66a4cb187b92ca8663203fe8fda621e6585a2a00
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]
44 files changed:
fs/adfs/super.c
fs/affs/super.c
fs/befs/linuxvfs.c
fs/btrfs/super.c
fs/cifs/cifsfs.c
fs/coda/inode.c
fs/cramfs/inode.c
fs/debugfs/inode.c
fs/devpts/inode.c
fs/efs/super.c
fs/ext2/super.c
fs/ext3/super.c
fs/ext4/super.c
fs/f2fs/super.c
fs/fat/inode.c
fs/freevxfs/vxfs_super.c
fs/fuse/inode.c
fs/gfs2/super.c
fs/hfs/super.c
fs/hfsplus/super.c
fs/hpfs/super.c
fs/isofs/inode.c
fs/jffs2/super.c
fs/jfs/super.c
fs/minix/inode.c
fs/ncpfs/inode.c
fs/nfs/super.c
fs/nilfs2/super.c
fs/ntfs/super.c
fs/ocfs2/super.c
fs/openpromfs/inode.c
fs/proc/root.c
fs/pstore/inode.c
fs/qnx4/inode.c
fs/qnx6/inode.c
fs/reiserfs/super.c
fs/romfs/super.c
fs/squashfs/super.c
fs/super.c
fs/sysv/inode.c
fs/ubifs/super.c
fs/udf/super.c
fs/ufs/super.c
fs/xfs/xfs_super.c