RE: Bug: 2.6.11.8 msdos.c

From: James Dingwall
Date: Fri May 06 2005 - 03:15:22 EST


>
> * James Dingwall (james.dingwall@xxxxxxxxxx) wrote:
> > Using vanilla 2.6.11.8 I get a "Cannot open initial
> console" on boot,
> > 2.6.11.7 was fine. I have removed the patches to
> fs/partitions/msdos.c and
> > this has fixed my problem. I've read the discussion on
> this patch but it
> > doesn't indicate that this problem may occur so there is no
> suggested
> > solution. I have attached my .config and my partition
> layout is below, I
> > can provide any other information that might be useful.
> I'm not on the list
> > so plase Cc, I will follow the thread in the archives too.
>
> Thanks for the report James. To be clear, you simply backed out the
> following: (I ask partly because this got merged in as part of the i2c
> sysfs ChangeSet, odd)
>
> ===== fs/partitions/msdos.c 1.26 vs 1.27 =====
> --- 1.26/fs/partitions/msdos.c 2004-11-09 12:43:17 -08:00
> +++ 1.27/fs/partitions/msdos.c 2005-03-07 20:41:42 -08:00
> @@ -114,6 +114,9 @@ parse_extended(struct parsed_partitions
> */
> for (i=0; i<4; i++, p++) {
> u32 offs, size, next;
> +
> + if (SYS_IND(p) == 0)
> + continue;
> if (!NR_SECTS(p) || is_extended_partition(p))
> continue;
>
> @@ -430,6 +433,8 @@ int msdos_partition(struct parsed_partit
> for (slot = 1 ; slot <= 4 ; slot++, p++) {
> u32 start = START_SECT(p)*sector_size;
> u32 size = NR_SECTS(p)*sector_size;
> + if (SYS_IND(p) == 0)
> + continue;
> if (!size)
> continue;
> if (is_extended_partition(p)) {

Yes, this is the patch that I backed out.

> >
> > Disk /dev/hda: 30.0 GB, 30020272128 bytes
> > 255 heads, 63 sectors/track, 3649 cylinders
> > Units = cylinders of 16065 * 512 = 8225280 bytes
> >
> > Device Boot Start End Blocks Id System
> > /dev/hda1 * 1 1797 14434371 83 Linux
> > /dev/hda2 1798 3649 14876190 5 Extended
> > /dev/hda5 1798 1860 506016 0 Empty
> > /dev/hda6 1861 1892 257008+ 83 Linux
> > /dev/hda7 1893 1924 257008+ 83 Linux
> > /dev/hda8 1925 2049 1004031 82
> Linux swap / Solaris
> > /dev/hda9 2050 2112 506016 0 Empty
> > /dev/hda10 2113 2611 4008186 83 Linux
> > /dev/hda11 2612 2861 2008093+ 83 Linux

Andries' hint about changing the partition types to !0 is a fix for the
problem.

Thanks,
James
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/