{
int is_partition = 0;
char dev[PATH_MAX];
+ grub_disk_addr_t part_start = 0;
+
+ part_start = grub_partition_get_start (disk->partition);
strcpy (dev, map[disk->id].device);
- if (disk->partition && strncmp (map[disk->id].device, "/dev/", 5) == 0)
- if (disk->partition && sector >= disk->partition->start
++ if (disk->partition && sector >= part_start
+ && strncmp (map[disk->id].device, "/dev/", 5) == 0)
- is_partition = linux_find_partition (dev, disk->partition->start);
+ is_partition = linux_find_partition (dev, part_start);
/* Open the partition. */
grub_dprintf ("hostdisk", "opening the device `%s' in open_device()\n", dev);