From f8679cedff703b437171f4708d46adbfcff80a65 Mon Sep 17 00:00:00 2001 From: Eric Snowberg Date: Thu, 18 May 2017 17:10:22 -0600 Subject: [PATCH] sparc64: Don't use devspec to determine the OBP path Don't use devspec to determine the OBP path on SPARC hardware. Within all versions of Linux on SPARC, the devspec returns one of three values: "none", "vnet-port", or "vdisk". Unlike on PPC, none of these values are useful in determining the OBP path. Before this patch grub-ofpathname always returned the wrong value for a virtual disk. For example: % grub-ofpathname /dev/vdiskc2 vdisk/disk@2:b After this patch it now returns the correct value: % grub-ofpathname /dev/vdiskc2 /virtual-devices@100/channel-devices@200/disk@2:b Orabug: 24459765 Signed-off-by: Eric Snowberg Reviewed-by: Daniel Kiper --- grub-core/osdep/linux/ofpath.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/grub-core/osdep/linux/ofpath.c b/grub-core/osdep/linux/ofpath.c index a79682a5e..dce4e59d0 100644 --- a/grub-core/osdep/linux/ofpath.c +++ b/grub-core/osdep/linux/ofpath.c @@ -120,6 +120,8 @@ find_obppath (const char *sysfs_path_orig) #endif fd = open(path, O_RDONLY); + +#ifndef __sparc__ if (fd < 0 || fstat (fd, &st) < 0) { if (fd >= 0) @@ -127,6 +129,7 @@ find_obppath (const char *sysfs_path_orig) snprintf(path, path_size, "%s/devspec", sysfs_path); fd = open(path, O_RDONLY); } +#endif if (fd < 0 || fstat (fd, &st) < 0) {