summaryrefslogtreecommitdiffstats
path: root/meta/recipes-bsp/grub/grub-1.99/grub-1.99-lazy_stat.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-bsp/grub/grub-1.99/grub-1.99-lazy_stat.patch')
-rw-r--r--meta/recipes-bsp/grub/grub-1.99/grub-1.99-lazy_stat.patch64
1 files changed, 0 insertions, 64 deletions
diff --git a/meta/recipes-bsp/grub/grub-1.99/grub-1.99-lazy_stat.patch b/meta/recipes-bsp/grub/grub-1.99/grub-1.99-lazy_stat.patch
deleted file mode 100644
index cde8b87a47..0000000000
--- a/meta/recipes-bsp/grub/grub-1.99/grub-1.99-lazy_stat.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-Upstream-Status: Backport
-
-Patch is a slightly edited version from debian. Upstream link is:
-http://bzr.savannah.gnu.org/lh/grub/trunk/grub/revision/3318
-
-Description: Don't stat devices unless we have to
-Author: Vladimir Serbinenko <phcoder@gmail.com>
-Author: Colin Watson <cjwatson@ubuntu.com>
-Bug-Debian: http://bugs.debian.org/627587
-Forwarded: yes
-Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/3318
-Last-Update: 2011-05-31
-
-Index: b/grub-core/kern/emu/getroot.c
-===================================================================
---- a/grub-core/kern/emu/getroot.c
-+++ b/grub-core/kern/emu/getroot.c
-@@ -358,7 +358,7 @@
-
- if (S_ISLNK (st.st_mode)) {
- #ifdef __linux__
-- if (strcmp (dir, "mapper") == 0) {
-+ if (strcmp (dir, "mapper") == 0 || strcmp (dir, "/dev/mapper") == 0) {
- /* Follow symbolic links under /dev/mapper/; the canonical name
- may be something like /dev/dm-0, but the names under
- /dev/mapper/ are more human-readable and so we prefer them if
-@@ -609,20 +609,27 @@
-
- if (os_dev)
- {
-- if (stat (os_dev, &st) >= 0)
-- dev = st.st_rdev;
-- else
-- grub_util_error ("cannot stat `%s'", os_dev);
-- free (os_dev);
-+ char *tmp = os_dev;
-+ os_dev = canonicalize_file_name (os_dev);
-+ free (tmp);
- }
-- else
-+
-+ if (os_dev)
- {
-- if (stat (dir, &st) >= 0)
-- dev = st.st_dev;
-- else
-- grub_util_error ("cannot stat `%s'", dir);
-+ if (strncmp (os_dev, "/dev/dm-", sizeof ("/dev/dm-") - 1) != 0)
-+ return os_dev;
-+ if (stat (os_dev, &st) < 0)
-+ grub_util_error ("cannot stat `%s'", os_dev);
-+ free (os_dev);
-+ dev = st.st_rdev;
-+ return grub_find_device ("/dev/mapper", dev);
- }
-
-+ if (stat (dir, &st) < 0)
-+ grub_util_error ("cannot stat `%s'", dir);
-+
-+ dev = st.st_dev;
-+
- #ifdef __CYGWIN__
- /* Cygwin specific function. */
- os_dev = grub_find_device (dir, dev);