Committed. On Thu, Jun 05, 2008 at 01:35:36AM +0200, Robert Millan wrote: > > It seems that open_device() in biosdisk is messing up offsets when > accessing partitions. For example if you try: > > grub> hexdump (hd0,1) > > in grub-emu, you'll get a message saying lseek failed. The problem is that > it substracts to the sector offset, so all accesses get to wrong data and > accessing sector 0 results in underflow. > > I would think those lines (see patch) are plainly wrong, but they appear to > be very old, and it is strange that this wasn't noticed earlier. Maybe we > have changed behaviour around partition/disk offsets, causing this breakage > without noticing? > > -- > Robert Millan > > <GPLv2> I know my rights; I want my phone call! > <DRM> What good is a phone call… if you are unable to speak? > (as seen on /.)
> diff -x ChangeLog -x configure -x config.h.in -x CVS -x '*~' -x '*.mk' -urp > ../grub2/util/biosdisk.c ./util/biosdisk.c > --- ../grub2/util/biosdisk.c 2008-06-04 16:00:30.000000000 +0200 > +++ ./util/biosdisk.c 2008-06-05 01:17:00.000000000 +0200 > @@ -298,9 +298,6 @@ open_device (const grub_disk_t disk, gru > > /* Make the buffer cache consistent with the physical disk. */ > ioctl (fd, BLKFLSBUF, 0); > - > - if (is_partition) > - sector -= disk->partition->start; > } > #else /* ! __linux__ */ > fd = open (map[disk->id].device, flags); > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel -- Robert Millan <GPLv2> I know my rights; I want my phone call! <DRM> What good is a phone call… if you are unable to speak? (as seen on /.) _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel