lkml.org 
[lkml]   [2005]   [May]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Bug: 2.6.11.8 msdos.c
On Fri, 6 May 2005, Bill Davidsen wrote:

> James Dingwall wrote:
>>> * James Dingwall (james.dingwall@cramer.com) 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.
>
> What is the reason for the patch in the first place? Obviously it's
> intended to do something, or not do something bad, but what's wrong with
> a reserved partition?
>
> I looked at the rest of msdos.c and it wasn't blindingly clear what the
> original intent was. A partition type of zero is unusual, but it's not
> illegal, is it? (as in violates some standard)

Can't the problem be fixed by just using Linux fdisk to put in the
correct ID? Unlike MS-DOS fdisk, the Linux fdisk can modify things
without destroying everything else on the drive.

Cheers,
Dick Johnson
Penguin : Linux version 2.6.11 on an i686 machine (5537.79 BogoMips).
Notice : All mail here is now cached for review by Dictator Bush.
98.36% of all statistics are fiction.
-
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/

\
 
 \ /
  Last update: 2005-05-06 16:15    [W:1.617 / U:0.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site