From 8b9339e7792f619e24b0b7408182b21949891115 Mon Sep 17 00:00:00 2001 From: Carsten Otte Date: Wed, 11 Feb 2009 13:04:37 -0800 Subject: [PATCH] --- yaml --- r: 131292 b: refs/heads/master c: 0e4a9b59282914fe057ab17027f55123964bc2e2 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/ext2/super.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 821ee6c95703..239bbc6ae10b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cfebe563bd0a3ff97e1bc167123120d59c7a84db +refs/heads/master: 0e4a9b59282914fe057ab17027f55123964bc2e2 diff --git a/trunk/fs/ext2/super.c b/trunk/fs/ext2/super.c index da8bdeaa2e6d..7c6e3606f0ec 100644 --- a/trunk/fs/ext2/super.c +++ b/trunk/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) {