blob: fc14c536b87924cb6a73cc36fe09faf58cad7d5b [file] [log] [blame]
--- grub-core/kern/emu/getroot.c 2011-05-21 05:03:55 +0000
+++ grub-core/kern/emu/getroot.c 2011-06-23 17:50:41 +0000
@@ -616,13 +616,15 @@
if (os_dev)
{
- if (strncmp (os_dev, "/dev/dm-", sizeof ("/dev/dm-") - 1) != 0)
+ int dm = (strncmp (os_dev, "/dev/dm-", sizeof ("/dev/dm-") - 1) == 0);
+ int root = (strcmp (os_dev, "/dev/root") == 0);
+ if (!dm && !root)
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);
+ return grub_find_device (dm ? "/dev/mapper" : "/dev", dev);
}
if (stat (dir, &st) < 0)