Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756223Ab0GMBZN (ORCPT ); Mon, 12 Jul 2010 21:25:13 -0400 Received: from bld-mail13.adl6.internode.on.net ([150.101.137.98]:53645 "EHLO mail.internode.on.net" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755668Ab0GMBZL (ORCPT ); Mon, 12 Jul 2010 21:25:11 -0400 Date: Tue, 13 Jul 2010 11:25:06 +1000 From: Dave Chinner To: "Patrick J. LoPresti" Cc: Andreas Dilger , ocfs2-devel@oss.oracle.com, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org Subject: Re: [PATCH 2/2] OCFS2: Allow huge (> 16 TiB) volumes to mount Message-ID: <20100713012506.GA30737@dastard> References: <871vbax86w.fsf@patl.com> <87zkxyvtjt.fsf@patl.com> <3BB069D5-B193-43A4-B678-B3CEA4873B58@dilger.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1719 Lines: 37 On Mon, Jul 12, 2010 at 06:08:51PM -0700, Patrick J. LoPresti wrote: > On Mon, Jul 12, 2010 at 5:21 PM, Andreas Dilger wrote: > > On 2010-07-11, at 11:04, Patrick J. LoPresti wrote: > > > > >> + ? ? /* Absolute addressability check (borrowed from ext4/super.c) */ > >> + ? ? if ((max_block > > >> + ? ? ? ? ?(sector_t)(~0LL) >> (osb->sb->s_blocksize_bits - 9)) || > >> + ? ? ? ? (max_block > (pgoff_t)(~0LL) >> (PAGE_CACHE_SHIFT - > >> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?osb->sb->s_blocksize_bits))) { > >> + ? ? ? ? ? ? mlog(ML_ERROR, "Volume too large " > >> + ? ? ? ? ? ? ? ? ?"to mount safely on this system"); > >> + ? ? ? ? ? ? status = -EFBIG; > >> + ? ? ? ? ? ? goto out; > >> + ? ? } > > > > This hunk of code is actually in several filesystems. ?It wouldn't be a bad idea to make it a library function that can be called by the filesystem to check the kernel page cache and block layer can handle these large filesystems. > > True, but some of them do it differently (e.g. see the #if switch in > xfs_sb_validate_fsb_count). Tracking down all variants and changing > them is a much larger task than my simple patch. The XFS code is different to the above because there is still a 16TB size limit on 32 bit systemsi (i.e. page cache address limits). IOWs, you can't just remove the above 16TB check unless you (i.e. OCFS2) handle >16TB block devices on 32 bit systems correctly... Cheers, Dave. -- Dave Chinner david@fromorbit.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/