vold: Check partitions 1-4 instead of 0-3

In mmc_bootstrap_mmcblk, bootstrap partitions 1-4 instead of 0-3, since
that's how the kernel labels them.  Additionally, use the NDOSPART constant
from diskmbr.h instead of hardcoding 4 when scanning partitions.
This commit is contained in:
Ben Winslow 2009-08-15 09:52:10 -04:00
parent 1f7aceb222
commit 227c74af84
2 changed files with 4 additions and 3 deletions

View File

@ -112,7 +112,7 @@ int blkdev_refresh(blkdev_t *blk)
goto out;
}
for (i = 0; i < 4; i++) {
for (i = 0; i < NDOSPART; i++) {
struct dos_partition part;
dos_partition_dec(block + DOSPARTOFF + i * sizeof(struct dos_partition), &part);
@ -134,7 +134,7 @@ int blkdev_refresh(blkdev_t *blk)
struct dos_partition part;
int part_no = blk->minor -1;
if (part_no < 4) {
if (part_no < NDOSPART) {
dos_partition_dec(block + DOSPARTOFF + part_no * sizeof(struct dos_partition), &part);
blk->part_type = part.dp_typ;
} else {

View File

@ -25,6 +25,7 @@
#include "vold.h"
#include "mmc.h"
#include "media.h"
#include "diskmbr.h" /* for NDOSPART */
#define DEBUG_BOOTSTRAP 0
@ -233,7 +234,7 @@ static int mmc_bootstrap_mmcblk(char *devpath)
*mmcblk_devname != '/'; mmcblk_devname--);
mmcblk_devname++;
for (part_no = 0; part_no < 4; part_no++) {
for (part_no = 1; part_no <= NDOSPART; part_no++) {
char part_file[255];
sprintf(part_file, "/sys%s/%sp%d", devpath, mmcblk_devname, part_no);
if (!access(part_file, F_OK)) {