From: Doug Nazar <nazard.michi@gmail.com>
To: grub-devel@gnu.org, Lennart Sorensen <lsorense@csclub.uwaterloo.ca>
Subject: Fallback to scanning OF tree if no devaliases
Date: Thu, 29 Jul 2010 02:21:36 -0400 [thread overview]
Message-ID: <4C511DF0.3080306@gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 741 bytes --]
Lennart, try giving this patch a whirl. In the case after we scan the
aliases list and we haven't found any block devices it will now try to
scan the entire tree. It kinda worked under OpenBios although I ran into
another bug where it can't open a device path that it gave me for the
pci ide controller. It found the other 2 drives fine.
I think this maintains the correct balance of using short pretty names
if available but working if they are not available.
There is a case where it will mess up however. If you only specify an
alias for one device but need another device to build a raid or lvm it
will fail. Although, thinking about it, this already would happen.
As always, you can specify the either path manually.
Doug
[-- Attachment #2: grub-fallback-to-scanning-of-tree.diff --]
[-- Type: text/plain, Size: 922 bytes --]
=== modified file 'disk/ieee1275/ofdisk.c'
--- disk/ieee1275/ofdisk.c 2010-07-29 03:58:16 +0000
+++ disk/ieee1275/ofdisk.c 2010-07-29 06:02:06 +0000
@@ -76,6 +76,9 @@
grub_ofdisk_iterate (int (*hook) (const char *name))
{
auto int dev_iterate (struct grub_ieee1275_devalias *alias);
+ int disks_found = 0;
+ int use_path = 0;
+ int result;
int dev_iterate (struct grub_ieee1275_devalias *alias)
{
@@ -110,11 +113,20 @@
if (! grub_strcmp (alias->type, "block") &&
grub_strncmp (alias->name, "cdrom", 5))
- ret = hook (alias->name);
+ {
+ disks_found++;
+ ret = hook (use_path ? alias->path : alias->name);
+ }
return ret;
}
- return grub_devalias_iterate (dev_iterate);
+ result = grub_devalias_iterate (dev_iterate);
+ if (!disks_found)
+ {
+ use_path = 1;
+ result = grub_ieee1275_devices_iterate (dev_iterate);
+ }
+ return result;
}
static char *
next reply other threads:[~2010-07-29 6:21 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-29 6:21 Doug Nazar [this message]
2010-07-29 15:36 ` Fallback to scanning OF tree if no devaliases Lennart Sorensen
2010-07-29 15:57 ` Doug Nazar
2010-07-29 16:52 ` David Miller
2010-07-29 16:59 ` Lennart Sorensen
2010-07-29 17:28 ` David Miller
2010-07-29 16:57 ` Lennart Sorensen
2010-07-29 17:08 ` Doug Nazar
2010-07-29 17:37 ` Lennart Sorensen
2010-07-29 19:11 ` Doug Nazar
2010-08-01 14:48 ` Vladimir 'φ-coder/phcoder' Serbinenko
2010-08-09 15:41 ` Lennart Sorensen
2010-08-09 16:09 ` Vladimir 'φ-coder/phcoder' Serbinenko
2010-08-09 17:01 ` Lennart Sorensen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C511DF0.3080306@gmail.com \
--to=nazard.michi@gmail.com \
--cc=grub-devel@gnu.org \
--cc=lsorense@csclub.uwaterloo.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.