From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Otte Subject: Re: [BUG?]Set XIP mount option on ext2 bypass check. Date: Thu, 21 Jun 2007 15:17:49 +0200 Message-ID: <1182431869.7145.7.camel@cotte.boeblingen.de.ibm.com> References: <4679A58C.2080008@21cn.com> <3d0408630706201840o5b1c2454n75d1ebbd26d660d6@mail.gmail.com> <467A5E36.9030904@de.ibm.com> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Cc: Yan Zheng , "linux-fsdevel@vger.kernel.org" , "linux-kernel@vger.kernel.org" To: Andrew Morton Return-path: Received: from mtagate2.de.ibm.com ([195.212.29.151]:49741 "EHLO mtagate2.de.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754996AbXFUNSB (ORCPT ); Thu, 21 Jun 2007 09:18:01 -0400 In-Reply-To: <467A5E36.9030904@de.ibm.com> Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org This is an updated version of my bugfix patch. Yan Zheng pointed out, that ext2_remount lacks checking if -o xip should be enabled or not. This patch checks for presence of direct_access on the backing block device and if the blocksize meets the requirements. Andrew, please consider adding this patch to -mm. Signed-off-by: Carsten Otte --- Index: linux-2.6.22-rc4-mm/fs/ext2/super.c =================================================================== --- linux-2.6.22-rc4-mm.orig/fs/ext2/super.c +++ linux-2.6.22-rc4-mm/fs/ext2/super.c @@ -1071,6 +1071,14 @@ static int ext2_remount (struct super_bl sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | ((sbi->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0); + ext2_xip_verify_sb(sb); /* see if bdev supports xip, unset + EXT2_MOUNT_XIP if not */ + + if ((ext2_use_xip(sb)) && (sb->s_blocksize != PAGE_SIZE)) { + printk("XIP: Unsupported blocksize\n"); + goto restore_opts; + } + es = sbi->s_es; if (((sbi->s_mount_opt & EXT2_MOUNT_XIP) != (old_mount_opt & EXT2_MOUNT_XIP)) &&