diff -Naur orig/fs/ext3/super.c edited/fs/ext3/super.c --- orig/fs/ext3/super.c 2004-06-16 07:20:03.000000000 +0200 +++ edited/fs/ext3/super.c 2004-06-20 00:29:19.675383104 +0200 @@ -1209,6 +1209,7 @@ unsigned long offset = 0; unsigned long journal_inum = 0; unsigned long def_mount_opts; + unsigned long max_per_group; struct inode *root; int blocksize; int hblock; @@ -1397,26 +1398,31 @@ sbi->s_mount_state = le16_to_cpu(es->s_state); sbi->s_addr_per_block_bits = log2(EXT3_ADDR_PER_BLOCK(sb)); sbi->s_desc_per_block_bits = log2(EXT3_DESC_PER_BLOCK(sb)); - for (i=0; i < 4; i++) + + for (i = 0; i < 4; i++) sbi->s_hash_seed[i] = le32_to_cpu(es->s_hash_seed[i]); sbi->s_def_hash_version = es->s_def_hash_version; + max_per_group = blocksize * 8; - if (sbi->s_blocks_per_group > blocksize * 8) { + if (sbi->s_blocks_per_group > max_per_group) { printk (KERN_ERR - "EXT3-fs: #blocks per group too big: %lu\n", - sbi->s_blocks_per_group); + "EXT3-fs: #blocks per group too big: %lu" + " (maximum : %lu)\n", + sbi->s_blocks_per_group, max_per_group); goto failed_mount; } - if (sbi->s_frags_per_group > blocksize * 8) { + if (sbi->s_frags_per_group > max_per_group) { printk (KERN_ERR - "EXT3-fs: #fragments per group too big: %lu\n", - sbi->s_frags_per_group); + "EXT3-fs: #fragments per group too big: %lu" + " (maximum : %lu)\n", + sbi->s_frags_per_group, max_per_group); goto failed_mount; } - if (sbi->s_inodes_per_group > blocksize * 8) { + if (sbi->s_inodes_per_group > max_per_group) { printk (KERN_ERR - "EXT3-fs: #inodes per group too big: %lu\n", - sbi->s_inodes_per_group); + "EXT3-fs: #inodes per group too big: %lu" + " (maximum : %lu)\n", + sbi->s_inodes_per_group, max_per_group); goto failed_mount; } @@ -1491,9 +1497,11 @@ if (ext3_create_journal(sb, es, journal_inum)) goto failed_mount2; } else { + /* ext3 won't run without journal */ if (!silent) printk (KERN_ERR - "ext3: No journal on filesystem on %s\n", + "EXT3-fs: No journal in filesystem on %s" + " : a ^has_journal ext3 or ext2 partition\n", sb->s_id); goto failed_mount2; }