X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=fs%2Fpartitions%2Fmsdos.c;h=100fa7548a42a7f316f5550e3f962a5cdf1e3565;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=e98505bf803d708398108fe5b66f9b1eed64a9a5;hpb=db216c3d5e4c040e557a50f8f5d35d5c415e8c1c;p=linux-2.6.git diff --git a/fs/partitions/msdos.c b/fs/partitions/msdos.c index e98505bf8..100fa7548 100644 --- a/fs/partitions/msdos.c +++ b/fs/partitions/msdos.c @@ -422,8 +422,8 @@ int msdos_partition(struct parsed_partitions *state, struct block_device *bdev) * On the second pass look inside *BSD, Unixware and Solaris partitions. */ - state->next = DOS_EXTENDED_PARTITION; - for (slot = 1 ; slot < DOS_EXTENDED_PARTITION ; slot++, p++) { + state->next = 5; + for (slot = 1 ; slot <= 4 ; slot++, p++) { u32 start = START_SECT(p)*sector_size; u32 size = NR_SECTS(p)*sector_size; if (!size) @@ -450,7 +450,7 @@ int msdos_partition(struct parsed_partitions *state, struct block_device *bdev) /* second pass - output for each on a separate line */ p = (struct partition *) (0x1be + data); - for (slot = 1 ; slot < DOS_EXTENDED_PARTITION ; slot++, p++) { + for (slot = 1 ; slot <= 4 ; slot++, p++) { unsigned char id = SYS_IND(p); int n;