Commit b2411dd2 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] revert msdos partitioning fix

This change from March 3rd causes the partition parsing code to ignore
partitions which have a signature byte of zero.  Turns out that more people
have such partitions than we expected, and their device numbering is coming up
wrong in post-2.6.11 kernels.

So revert the change while we think about the problem a bit more.

Cc: Andries Brouwer <Andries.Brouwer@cwi.nl>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent cccf2508
...@@ -114,9 +114,6 @@ parse_extended(struct parsed_partitions *state, struct block_device *bdev, ...@@ -114,9 +114,6 @@ parse_extended(struct parsed_partitions *state, struct block_device *bdev,
*/ */
for (i=0; i<4; i++, p++) { for (i=0; i<4; i++, p++) {
u32 offs, size, next; u32 offs, size, next;
if (SYS_IND(p) == 0)
continue;
if (!NR_SECTS(p) || is_extended_partition(p)) if (!NR_SECTS(p) || is_extended_partition(p))
continue; continue;
...@@ -433,8 +430,6 @@ int msdos_partition(struct parsed_partitions *state, struct block_device *bdev) ...@@ -433,8 +430,6 @@ int msdos_partition(struct parsed_partitions *state, struct block_device *bdev)
for (slot = 1 ; slot <= 4 ; slot++, p++) { for (slot = 1 ; slot <= 4 ; slot++, p++) {
u32 start = START_SECT(p)*sector_size; u32 start = START_SECT(p)*sector_size;
u32 size = NR_SECTS(p)*sector_size; u32 size = NR_SECTS(p)*sector_size;
if (SYS_IND(p) == 0)
continue;
if (!size) if (!size)
continue; continue;
if (is_extended_partition(p)) { if (is_extended_partition(p)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment