On Tue, Oct 04, 2011 at 06:47:12AM -0500, Eric Sandeen wrote: > On 10/3/11 11:27 PM, Theodore Ts'o wrote: > > If the number of block groups exceeds 2**32, a bad cast would lead to > > a bogus "Not enough space to build proposed filesystem while setting > > up superblock" failure. > > It's the proper cast now, but I don't think it fixes the problem, since they > are both __u32... Hmm, yes. And to be quite honest I'm not sure it's worth fixing. 2**32 block groups gets us up to 2**59 bytes assuming 4k blocks. The theoretical maximum given the current extent tree format is 2**60 assuming 4k blocks. So changing dgrp_t to be 64-bits just to get that last power of two (i.e., from 512EB to a full PB) doesn't seem worth it. Simply using a bigalloc cluster size of 8k would make the problem go away (and arguably we'd probably want a large cluster size if someone wanted to create a file system that big anyway). So maybe we should just check to see if the required number of block groups is greater than 2**32, and if so, give an error. - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html