Theodore Tso wrote:
On Tue, Jan 06, 2009 at 01:46:23PM +0100, Thiemo Nagel wrote:
@@ -2160,6 +2162,15 @@
EXT4_BLOCKS_PER_GROUP(sb) - 1);
do_div(blocks_count, EXT4_BLOCKS_PER_GROUP(sb));
sbi->s_groups_count = blocks_count;
+ if (sbi->s_groups_count > ((uint64_t)1<<32) - EXT4_DESC_PER_BLOCK(sb)) {
This can't possibly work, given that s_groups_count is an unsigned
int.
I'm casting to uint64_t, so in my opinion it should work on all
architectures.
... which doesn't help given that sbi->s_groups_count is 32 bits on
x86_32 machines if it is unsigned long, and always 32 bits once
ext4_group_t was changed to be an unsigned int.
You're right.
Thiemo
--
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