Messages in this thread | | | Subject | Re: [Ext2-devel] [PATCH] fix ext3 mounts at 16T | From | Mingming Cao <> | Date | Fri, 11 Aug 2006 15:29:54 -0700 |
| |
On Fri, 2006-08-11 at 17:13 -0500, Eric Sandeen wrote: > I figure before we get too fired up about 48 bits and ext4 let's fix 32 bits on ext3 :) > > I need to do some actual IO testing now, but this gets things mounting for a 16T ext3 filesystem. > (patched up e2fsprogs is needed too, I'll send that off the kernel list) > > This patch fixes these issues in the kernel: > > o sbi->s_groups_count overflows in ext3_fill_super() > > sbi->s_groups_count = (le32_to_cpu(es->s_blocks_count) - > le32_to_cpu(es->s_first_data_block) + > EXT3_BLOCKS_PER_GROUP(sb) - 1) / > EXT3_BLOCKS_PER_GROUP(sb); > > at 16T, s_blocks_count is already maxed out; adding EXT3_BLOCKS_PER_GROUP(sb) overflows it and > groups_count comes out to 0. Not really what we want, and causes a failed mount. > > Feel free to check my math (actually, please do!), but changing it this way should work & > avoid the overflow: > > (A + B - 1)/B changed to: ((A - 1)/B) + 1 > > o ext3_check_descriptors() overflows range checks
Looks correct to me.:)
Mingming
- 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/
| |