|
|
3efed6 |
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
3efed6 |
From: =?UTF-8?q?Renaud=20M=C3=A9trich?= <rmetrich@redhat.com>
|
|
|
3efed6 |
Date: Fri, 29 Nov 2019 11:02:00 +0100
|
|
|
3efed6 |
Subject: [PATCH] grub_file_* instrumentation (new 'file' debug tag)
|
|
|
3efed6 |
MIME-Version: 1.0
|
|
|
3efed6 |
Content-Type: text/plain; charset=UTF-8
|
|
|
3efed6 |
Content-Transfer-Encoding: 8bit
|
|
|
3efed6 |
|
|
|
3efed6 |
Signed-off-by: Renaud Métrich <rmetrich@redhat.com>
|
|
|
3efed6 |
---
|
|
|
3efed6 |
grub-core/kern/file.c | 14 ++++++++++++++
|
|
|
3efed6 |
1 file changed, 14 insertions(+)
|
|
|
3efed6 |
|
|
|
3efed6 |
diff --git a/grub-core/kern/file.c b/grub-core/kern/file.c
|
|
|
b71686 |
index 668f8930b..c2d9a5500 100644
|
|
|
3efed6 |
--- a/grub-core/kern/file.c
|
|
|
3efed6 |
+++ b/grub-core/kern/file.c
|
|
|
3efed6 |
@@ -67,6 +67,8 @@ grub_file_open (const char *name)
|
|
|
3efed6 |
const char *file_name;
|
|
|
3efed6 |
grub_file_filter_id_t filter;
|
|
|
3efed6 |
|
|
|
3efed6 |
+ grub_dprintf ("file", "Opening `%s' ...\n", name);
|
|
|
3efed6 |
+
|
|
|
3efed6 |
device_name = grub_file_get_device_name (name);
|
|
|
3efed6 |
if (grub_errno)
|
|
|
3efed6 |
goto fail;
|
|
|
3efed6 |
@@ -127,6 +129,8 @@ grub_file_open (const char *name)
|
|
|
3efed6 |
grub_memcpy (grub_file_filters_enabled, grub_file_filters_all,
|
|
|
3efed6 |
sizeof (grub_file_filters_enabled));
|
|
|
3efed6 |
|
|
|
3efed6 |
+ grub_dprintf ("file", "Opening `%s' succeeded.\n", name);
|
|
|
3efed6 |
+
|
|
|
3efed6 |
return file;
|
|
|
3efed6 |
|
|
|
3efed6 |
fail:
|
|
|
3efed6 |
@@ -140,6 +144,8 @@ grub_file_open (const char *name)
|
|
|
3efed6 |
grub_memcpy (grub_file_filters_enabled, grub_file_filters_all,
|
|
|
3efed6 |
sizeof (grub_file_filters_enabled));
|
|
|
3efed6 |
|
|
|
3efed6 |
+ grub_dprintf ("file", "Opening `%s' failed.\n", name);
|
|
|
3efed6 |
+
|
|
|
3efed6 |
return 0;
|
|
|
3efed6 |
}
|
|
|
3efed6 |
|
|
|
3efed6 |
@@ -171,6 +177,7 @@ grub_file_read (grub_file_t file, void *buf, grub_size_t len)
|
|
|
3efed6 |
|
|
|
3efed6 |
if (len == 0)
|
|
|
3efed6 |
return 0;
|
|
|
3efed6 |
+
|
|
|
3efed6 |
read_hook = file->read_hook;
|
|
|
3efed6 |
read_hook_data = file->read_hook_data;
|
|
|
3efed6 |
if (!file->read_hook)
|
|
|
3efed6 |
@@ -191,11 +198,18 @@ grub_file_read (grub_file_t file, void *buf, grub_size_t len)
|
|
|
3efed6 |
grub_err_t
|
|
|
3efed6 |
grub_file_close (grub_file_t file)
|
|
|
3efed6 |
{
|
|
|
3efed6 |
+ grub_dprintf ("file", "Closing `%s' ...\n", file->name);
|
|
|
3efed6 |
if (file->fs->close)
|
|
|
3efed6 |
(file->fs->close) (file);
|
|
|
3efed6 |
|
|
|
3efed6 |
if (file->device)
|
|
|
3efed6 |
grub_device_close (file->device);
|
|
|
3efed6 |
+
|
|
|
3efed6 |
+ if (grub_errno == GRUB_ERR_NONE)
|
|
|
3efed6 |
+ grub_dprintf ("file", "Closing `%s' succeeded.\n", file->name);
|
|
|
3efed6 |
+ else
|
|
|
3efed6 |
+ grub_dprintf ("file", "Closing `%s' failed with %d.\n", file->name, grub_errno);
|
|
|
3efed6 |
+
|
|
|
3efed6 |
grub_free (file->name);
|
|
|
3efed6 |
grub_free (file);
|
|
|
3efed6 |
return grub_errno;
|