| --- grub-core/kern/emu/getroot.c 2011-06-23 17:50:41 +0000 |
| +++ grub-core/kern/emu/getroot.c 2011-06-24 02:32:54 +0000 |
| @@ -620,11 +620,13 @@ |
| 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); |
| + if (stat (os_dev, &st) >= 0) |
| + { |
| + free (os_dev); |
| + dev = st.st_rdev; |
| + return grub_find_device (dm ? "/dev/mapper" : "/dev", dev); |
| + } |
| free (os_dev); |
| - dev = st.st_rdev; |
| - return grub_find_device (dm ? "/dev/mapper" : "/dev", dev); |
| } |
| |
| if (stat (dir, &st) < 0) |
| |