* util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume

that floppies are unpartitioned.
This commit is contained in:
Vladimir 'phcoder' Serbinenko 2013-09-23 12:19:49 +02:00
parent bca8873a0c
commit 3f7d9c8280
2 changed files with 5 additions and 34 deletions

View file

@ -1,3 +1,8 @@
2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
* util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
that floppies are unpartitioned.
2013-09-23 Vladimir Serbinenko <phcoder@gmail.com> 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
* util/getroot_unix.c [__MINGW32__ || __CYGWIN__]: * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:

View file

@ -43,15 +43,6 @@
#ifdef __linux__ #ifdef __linux__
#include <sys/ioctl.h> /* ioctl */ #include <sys/ioctl.h> /* ioctl */
#include <sys/mount.h> #include <sys/mount.h>
#ifndef MAJOR
# ifndef MINORBITS
# define MINORBITS 8
# endif /* ! MINORBITS */
# define MAJOR(dev) ((unsigned) ((dev) >> MINORBITS))
#endif /* ! MAJOR */
#ifndef FLOPPY_MAJOR
# define FLOPPY_MAJOR 2
#endif /* ! FLOPPY_MAJOR */
#endif #endif
#include <sys/types.h> #include <sys/types.h>
@ -67,11 +58,6 @@
#include <grub/emu/hostdisk.h> #include <grub/emu/hostdisk.h>
#include <grub/emu/getroot.h> #include <grub/emu/getroot.h>
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
# define MAJOR(dev) major(dev)
# define FLOPPY_MAJOR 2
#endif
#if defined (__FreeBSD__) || defined (__FreeBSD_kernel__) #if defined (__FreeBSD__) || defined (__FreeBSD_kernel__)
#include <sys/mount.h> #include <sys/mount.h>
#endif #endif
@ -84,21 +70,9 @@
#include <sys/mount.h> #include <sys/mount.h>
#endif /* defined(__NetBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) */ #endif /* defined(__NetBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) */
#if defined(__NetBSD__) || defined(__OpenBSD__)
# define MAJOR(dev) major(dev)
# ifdef HAVE_GETRAWPARTITION
# include <util.h> /* getrawpartition */
# endif /* HAVE_GETRAWPARTITION */
#if defined(__NetBSD__) #if defined(__NetBSD__)
# include <sys/fdio.h> # include <sys/fdio.h>
#endif #endif
# ifndef FLOPPY_MAJOR
# define FLOPPY_MAJOR 2
# endif /* ! FLOPPY_MAJOR */
# ifndef RAW_FLOPPY_MAJOR
# define RAW_FLOPPY_MAJOR 9
# endif /* ! RAW_FLOPPY_MAJOR */
#endif /* defined(__NetBSD__) */
grub_disk_addr_t grub_disk_addr_t
grub_util_find_partition_start (const char *dev) grub_util_find_partition_start (const char *dev)
@ -377,14 +351,6 @@ grub_util_biosdisk_get_grub_dev (const char *os_dev)
name = make_device_name (drive, -1, -1); name = make_device_name (drive, -1, -1);
# ifdef FLOPPY_MAJOR
if (MAJOR (st.st_rdev) == FLOPPY_MAJOR)
return name;
# else
/* Since os_dev and convert_system_partition_to_system_disk (os_dev) are
* different, we know that os_dev cannot be a floppy device. */
# endif
ctx.start = grub_util_find_partition_start (os_dev); ctx.start = grub_util_find_partition_start (os_dev);
if (grub_errno != GRUB_ERR_NONE) if (grub_errno != GRUB_ERR_NONE)
{ {