]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
kern/fs: The grub_fs_probe() should dprint errors from filesystems
authorRobbie Harwood <rharwood@redhat.com>
Fri, 15 Jul 2022 20:13:01 +0000 (16:13 -0400)
committerDaniel Kiper <daniel.kiper@oracle.com>
Wed, 27 Jul 2022 17:20:53 +0000 (19:20 +0200)
When filesystem detection fails, all that's currently debug-logged is
a series of messages like:

    grub-core/kern/fs.c:56:fs: Detecting ntfs...
    grub-core/kern/fs.c:76:fs: ntfs detection failed.

repeated for each filesystem. Any messages provided to grub_error() by
the filesystem are lost, and one has to break out gdb to figure out what
went wrong.

With this change, one instead sees:

    grub-core/kern/fs.c:56:fs: Detecting fat...
    grub-core/osdep/hostdisk.c:357:hostdisk: reusing open device
    `/path/to/device'
    grub-core/kern/fs.c:77:fs: error: invalid modification timestamp for /.
    grub-core/kern/fs.c:79:fs: fat detection failed.

in the debug prints.

Signed-off-by: Robbie Harwood <rharwood@redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
grub-core/kern/fs.c

index e0d7e16a29405ee29a955a53f0730e4dc424baea..b9508296d3db417b2f1747c8e7d4492b6ba4d69c 100644 (file)
@@ -75,6 +75,8 @@ grub_fs_probe (grub_device_t device)
            return p;
 
          grub_error_push ();
+         /* The grub_error_push() does not touch grub_errmsg. */
+         grub_dprintf ("fs", _("error: %s.\n"), grub_errmsg);
          grub_dprintf ("fs", "%s detection failed.\n", p->name);
          grub_error_pop ();