From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Subject: Re: [PATCH 02/14] quota: Increase size of variables for limits and inode usage Date: Mon, 27 Oct 2008 22:40:55 -0700 Message-ID: <20081027224055.698a4ed6.akpm@linux-foundation.org> References: <1225109512852-git-send-email-jack@suse.cz> <12251095123763-git-send-email-jack@suse.cz> <12251095124166-git-send-email-jack@suse.cz> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: linux-fsdevel@vger.kernel.org To: Jan Kara Return-path: Received: from smtp1.linux-foundation.org ([140.211.169.13]:35500 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752172AbYJ1FlA (ORCPT ); Tue, 28 Oct 2008 01:41:00 -0400 In-Reply-To: <12251095124166-git-send-email-jack@suse.cz> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Mon, 27 Oct 2008 13:11:40 +0100 Jan Kara wrote: > So far quota was fine with quota block limits and inode limits/numbers in > a 32-bit type. Now with rapid increase in storage sizes there are coming > requests to be able to handle quota limits above 4TB / more that 2^32 inodes. > So bump up sizes of types in mem_dqblk structure to 64-bits to be able to > handle this. Also update inode allocation / checking functions to use qsize_t > and make global structure keep quota limits in bytes so that things are > consistent. > > ... > > #define __DQUOT_VERSION__ "dquot_6.5.1" > #define __DQUOT_NUM_VERSION__ 6*10000+5*100+1 This didn't get changed anywhere in the patchset. Should it have? Also, qsize_t is typedefed to a __u64. But u64's are a pain because people keep trying to print them and they often forget the typecast and they cause warning storms. So until that gets fixed it'd be good to just do typedef unsigned long long qsize_t; which I think we can trivally do? Why does qsize_t exist, anyway? It's always going to be 64-bit, so why not open-code `unsigned long long' everywhere. Or u64? I guess it has some readability benefit in certain cases. It'd be a damn sight more useful if we also got compiler typechecking for such typedefs, but such is C...