fix a serious bug in Stage 1.5

This commit is contained in:
okuji 1999-06-25 10:24:46 +00:00
parent efbf4469d4
commit f4d54f710a
2 changed files with 16 additions and 14 deletions

View file

@ -1,12 +1,8 @@
1999-06-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp> 1999-06-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
* Makefile.am (SUBDIRS): Change the order of the directories so * stage2/disk_io.c (attempt_mount) [STAGE1_5]: Set FSYS_TYPE to
that a directory will be made after the dependent directories 0, and set it to NUM_FSYS if mount fails.
are made. `grub' depends on `stage2', and `docs' depends on (real_open_partition): Call rawread in Stage 1.5 as well.
`grub'. Do not make in parallel.
* docs/help2man: Copied from help2man-1.012, which contains my
previous change.
* docs/grub.8: Regenerated.
1999-06-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp> 1999-06-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>

View file

@ -258,8 +258,12 @@ attempt_mount (void)
if (fsys_type == NUM_FSYS && errnum == ERR_NONE) if (fsys_type == NUM_FSYS && errnum == ERR_NONE)
errnum = ERR_FSYS_MOUNT; errnum = ERR_FSYS_MOUNT;
#else #else
if ((*(fsys_table[0].mount_func)) () != 1) fsys_type = 0;
if ((*(fsys_table[fsys_type].mount_func)) () != 1)
{
fsys_type = NUM_FSYS;
errnum = ERR_FSYS_MOUNT; errnum = ERR_FSYS_MOUNT;
}
#endif #endif
} }
@ -395,15 +399,17 @@ real_open_partition (int flags)
char mbr_buf[SECTOR_SIZE]; char mbr_buf[SECTOR_SIZE];
int i, part_no, slice_no, ext = 0; int i, part_no, slice_no, ext = 0;
#ifndef STAGE1_5
if (! sane_partition ())
return 0;
#endif
/* /*
* The "rawread" is probably unnecessary here, but it is good to * The "rawread" is probably unnecessary here, but it is good to
* know it works. * know it works.
*/ */
#ifndef STAGE1_5 if (! rawread (current_drive, 0, 0, SECTOR_SIZE, mbr_buf))
if (!sane_partition ()
|| !rawread (current_drive, 0, 0, SECTOR_SIZE, mbr_buf))
return 0; return 0;
#endif
bsd_evil_hack = 0; bsd_evil_hack = 0;
current_slice = 0; current_slice = 0;