[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[2516] 2009-08-23 Vladimir Serbinenko <address@hidden>
From: |
Vladimir Serbinenko |
Subject: |
[2516] 2009-08-23 Vladimir Serbinenko <address@hidden> |
Date: |
Sun, 23 Aug 2009 15:27:07 +0000 |
Revision: 2516
http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=2516
Author: phcoder
Date: 2009-08-23 15:27:07 +0000 (Sun, 23 Aug 2009)
Log Message:
-----------
2009-08-23 Vladimir Serbinenko <address@hidden>
* commands/search.c (search_fs): Try searching without autoload first.
* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
filesystem module explicitly for faster booting.
Modified Paths:
--------------
trunk/grub2/ChangeLog
trunk/grub2/commands/search.c
trunk/grub2/util/grub-mkconfig_lib.in
Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog 2009-08-23 15:09:05 UTC (rev 2515)
+++ trunk/grub2/ChangeLog 2009-08-23 15:27:07 UTC (rev 2516)
@@ -1,3 +1,9 @@
+2009-08-23 Vladimir Serbinenko <address@hidden>
+
+ * commands/search.c (search_fs): Try searching without autoload first.
+ * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
+ filesystem module explicitly for faster booting.
+
2009-08-23 Colin Watson <address@hidden>
* util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
Modified: trunk/grub2/commands/search.c
===================================================================
--- trunk/grub2/commands/search.c 2009-08-23 15:09:05 UTC (rev 2515)
+++ trunk/grub2/commands/search.c 2009-08-23 15:27:07 UTC (rev 2516)
@@ -51,6 +51,7 @@
{
int count = 0;
char *buf = NULL;
+ grub_fs_autoload_hook_t saved_autoload;
auto int iterate_device (const char *name);
int iterate_device (const char *name)
@@ -131,8 +132,23 @@
return (found && var);
}
- grub_device_iterate (iterate_device);
+ /* First try without autoloading if we're setting variable. */
+ if (var)
+ {
+ saved_autoload = grub_fs_autoload_hook;
+ grub_fs_autoload_hook = 0;
+ grub_device_iterate (iterate_device);
+ /* Restore autoload hook. */
+ grub_fs_autoload_hook = saved_autoload;
+
+ /* Retry with autoload if nothing found. */
+ if (grub_errno == GRUB_ERR_NONE && count == 0)
+ grub_device_iterate (iterate_device);
+ }
+ else
+ grub_device_iterate (iterate_device);
+
grub_free (buf);
if (grub_errno == GRUB_ERR_NONE && count == 0)
Modified: trunk/grub2/util/grub-mkconfig_lib.in
===================================================================
--- trunk/grub2/util/grub-mkconfig_lib.in 2009-08-23 15:09:05 UTC (rev
2515)
+++ trunk/grub2/util/grub-mkconfig_lib.in 2009-08-23 15:27:07 UTC (rev
2516)
@@ -140,6 +140,11 @@
echo "insmod ${module}"
done
+ fs="`${grub_probe} --device ${device} --target=fs`"
+ for module in ${fs} ; do
+ echo "insmod ${module}"
+ done
+
# If there's a filesystem UUID that GRUB is capable of identifying, use it;
# otherwise set root as per value in device.map.
echo "set root=`${grub_probe} --device ${device} --target=drive`"
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [2516] 2009-08-23 Vladimir Serbinenko <address@hidden>,
Vladimir Serbinenko <=