You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.1 KiB
71 lines
2.1 KiB
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 |
|
From: =?UTF-8?q?Renaud=20M=C3=A9trich?= <rmetrich@redhat.com> |
|
Date: Fri, 29 Nov 2019 11:02:00 +0100 |
|
Subject: [PATCH] grub_file_* instrumentation (new 'file' debug tag) |
|
MIME-Version: 1.0 |
|
Content-Type: text/plain; charset=UTF-8 |
|
Content-Transfer-Encoding: 8bit |
|
|
|
Signed-off-by: Renaud Métrich <rmetrich@redhat.com> |
|
--- |
|
grub-core/kern/file.c | 14 ++++++++++++++ |
|
1 file changed, 14 insertions(+) |
|
|
|
diff --git a/grub-core/kern/file.c b/grub-core/kern/file.c |
|
index 58454458c47..e19aea3e514 100644 |
|
--- a/grub-core/kern/file.c |
|
+++ b/grub-core/kern/file.c |
|
@@ -66,6 +66,8 @@ grub_file_open (const char *name, enum grub_file_type type) |
|
const char *file_name; |
|
grub_file_filter_id_t filter; |
|
|
|
+ grub_dprintf ("file", "Opening `%s' ...\n", name); |
|
+ |
|
device_name = grub_file_get_device_name (name); |
|
if (grub_errno) |
|
goto fail; |
|
@@ -128,6 +130,8 @@ grub_file_open (const char *name, enum grub_file_type type) |
|
if (!file) |
|
grub_file_close (last_file); |
|
|
|
+ grub_dprintf ("file", "Opening `%s' succeeded.\n", name); |
|
+ |
|
return file; |
|
|
|
fail: |
|
@@ -138,6 +142,8 @@ grub_file_open (const char *name, enum grub_file_type type) |
|
|
|
grub_free (file); |
|
|
|
+ grub_dprintf ("file", "Opening `%s' failed.\n", name); |
|
+ |
|
return 0; |
|
} |
|
|
|
@@ -169,6 +175,7 @@ grub_file_read (grub_file_t file, void *buf, grub_size_t len) |
|
|
|
if (len == 0) |
|
return 0; |
|
+ |
|
read_hook = file->read_hook; |
|
read_hook_data = file->read_hook_data; |
|
if (!file->read_hook) |
|
@@ -189,11 +196,18 @@ grub_file_read (grub_file_t file, void *buf, grub_size_t len) |
|
grub_err_t |
|
grub_file_close (grub_file_t file) |
|
{ |
|
+ grub_dprintf ("file", "Closing `%s' ...\n", file->name); |
|
if (file->fs->fs_close) |
|
(file->fs->fs_close) (file); |
|
|
|
if (file->device) |
|
grub_device_close (file->device); |
|
+ |
|
+ if (grub_errno == GRUB_ERR_NONE) |
|
+ grub_dprintf ("file", "Closing `%s' succeeded.\n", file->name); |
|
+ else |
|
+ grub_dprintf ("file", "Closing `%s' failed with %d.\n", file->name, grub_errno); |
|
+ |
|
grub_free (file->name); |
|
grub_free (file); |
|
return grub_errno;
|
|
|