From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Subject: Re: [PATCH 3/9] support >32 bit ext4 filesystem block type in kernel Date: Wed, 9 Aug 2006 23:40:33 -0700 Message-ID: <20060809234033.4681017b.akpm@osdl.org> References: <1155172860.3161.82.camel@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: linux-fsdevel@vger.kernel.org, ext2-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Return-path: To: cmm@us.ibm.com In-Reply-To: <1155172860.3161.82.camel@localhost.localdomain> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: ext2-devel-bounces@lists.sourceforge.net Errors-To: ext2-devel-bounces@lists.sourceforge.net List-Id: linux-fsdevel.vger.kernel.org On Wed, 09 Aug 2006 18:21:00 -0700 Mingming Cao wrote: > > Redefine ext4 in-kernel filesystem block type (ext4_fsblk_t) from unsigned > long to sector_t, to allow kernel to handle >32 bit ext4 blocks. > I don't get it. Randomly-chosen snippet: > @@ -274,7 +274,8 @@ static int find_group_orlov(struct super > freei = percpu_counter_read_positive(&sbi->s_freeinodes_counter); > avefreei = freei / ngroups; > freeb = percpu_counter_read_positive(&sbi->s_freeblocks_counter); > - avefreeb = freeb / ngroups; > + avefreeb = freeb; > + sector_div(avefreeb, ngroups); > ndirs = percpu_counter_read_positive(&sbi->s_dirs_counter); > > if ((parent == sb->s_root->d_inode) || Here, `avefreeb' is still a 32-bit type. Why feed it into sector_div()? > @@ -303,13 +304,15 @@ static int find_group_orlov(struct super > goto fallback; > } > > - blocks_per_dir = (le32_to_cpu(es->s_blocks_count) - freeb) / ndirs; > + blocks_per_dir = le32_to_cpu(es->s_blocks_count) - freeb; > + sector_div(blocks_per_dir, ndirs); And here le32_to_cpu() is very much a 32-bit type. Why sector_div()? And I agree with me: we want to get all the sector_t's out of this filesystem. unsigned long long, do_div()? ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642