summaryrefslogtreecommitdiff
path: root/fs/ext2/super.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-03-09 15:21:57 +0100
committerTakashi Iwai <tiwai@suse.de>2009-03-09 15:21:57 +0100
commitefdcd41b4e41560375bb34ad8b095bcaa1c3a93f (patch)
tree57200ef68bae530776c0c2621c51e9464e1e72f9 /fs/ext2/super.c
parent33dbe6114047496a5b6fee0941c52dad41250043 (diff)
parent79c7cdd5441f5d3900c1632adcc8cd2bee35c8da (diff)
downloadlwn-efdcd41b4e41560375bb34ad8b095bcaa1c3a93f.tar.gz
lwn-efdcd41b4e41560375bb34ad8b095bcaa1c3a93f.zip
Merge branch 'topic/vmaster-update' into topic/docbook-fix
Diffstat (limited to 'fs/ext2/super.c')
-rw-r--r--fs/ext2/super.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/ext2/super.c b/fs/ext2/super.c
index da8bdeaa2e6d..7c6e3606f0ec 100644
--- a/fs/ext2/super.c
+++ b/fs/ext2/super.c
@@ -1185,9 +1185,12 @@ static int ext2_remount (struct super_block * sb, int * flags, char * data)
es = sbi->s_es;
if (((sbi->s_mount_opt & EXT2_MOUNT_XIP) !=
(old_mount_opt & EXT2_MOUNT_XIP)) &&
- invalidate_inodes(sb))
- ext2_warning(sb, __func__, "busy inodes while remounting "\
- "xip remain in cache (no functional problem)");
+ invalidate_inodes(sb)) {
+ ext2_warning(sb, __func__, "refusing change of xip flag "
+ "with busy inodes while remounting");
+ sbi->s_mount_opt &= ~EXT2_MOUNT_XIP;
+ sbi->s_mount_opt |= old_mount_opt & EXT2_MOUNT_XIP;
+ }
if ((*flags & MS_RDONLY) == (sb->s_flags & MS_RDONLY))
return 0;
if (*flags & MS_RDONLY) {