put_partition(state, state->next++, bsd_start, bsd_size);
}
put_dev_sector(sect);
+ if (le16_to_cpu(l->d_npartitions) > max_partitions)
+ printk(" (ignored %d more)",
+ le16_to_cpu(l->d_npartitions) - max_partitions);
printk(" >\n");
}
#endif
* 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)
/* 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;