From 4fe8c0ccf64fdaf7ebdfcadd252a4f51884f2ad1 Mon Sep 17 00:00:00 2001 From: robertmh Date: Sun, 23 Apr 2006 10:10:52 +0000 Subject: [PATCH] 2006-04-23 Robert Millan * grub/asmstub.c (get_diskinfo): Optimize sysctl routine. --- ChangeLog | 4 ++++ grub/asmstub.c | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index c7eedd910..6382cb772 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2006-04-23 Robert Millan + + * grub/asmstub.c (get_diskinfo): Optimize sysctl routine. + 2006-04-20 Robert Millan Fixes for kernel of FreeBSD: diff --git a/grub/asmstub.c b/grub/asmstub.c index 0ded179ca..bcb4fae92 100644 --- a/grub/asmstub.c +++ b/grub/asmstub.c @@ -797,8 +797,13 @@ get_diskinfo (int drive, struct geometry *geometry) flags = old_flags | 0x10; if (sysctlbyname (GEOM_SYSCTL, NULL, NULL, &flags, sizeof (int)) != 0) - grub_printf ("failed to set " GEOM_SYSCTL "sysctl: %s\n", strerror (errno)); + { + flags = old_flags; + grub_printf ("failed to set " GEOM_SYSCTL "sysctl: %s\n", strerror (errno)); + } } + else + flags = old_flags; #endif disks[drive].flags = open (devname, O_RDWR); #if defined(__FreeBSD_kernel__) || defined(__FreeBSD__)