grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] grub2: add read_hook to blocklists


From: Michael Grzeschik
Subject: [PATCH] grub2: add read_hook to blocklists
Date: Mon, 27 May 2019 10:07:27 +0200

This is needed to make grubenv be stored in
raw disk images. We now can run

save_env -f (ata0)1024+2 VARIABLE

Signed-off-by: Michael Grzeschik <address@hidden>
---
 grub-core/kern/fs.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/grub-core/kern/fs.c b/grub-core/kern/fs.c
index 2b85f4950..d50d519d2 100644
--- a/grub-core/kern/fs.c
+++ b/grub-core/kern/fs.c
@@ -208,6 +208,11 @@ grub_fs_blocklist_read (grub_file_t file, char *buf, 
grub_size_t len)
   grub_off_t offset;
   grub_ssize_t ret = 0;
 
+  if (file->read_hook)
+         file->device->disk->read_hook = file->read_hook;
+  if (file->read_hook_data)
+         file->device->disk->read_hook_data = file->read_hook_data;
+
   if (len > file->size - file->offset)
     len = file->size - file->offset;
 
@@ -236,6 +241,7 @@ grub_fs_blocklist_read (grub_file_t file, char *buf, 
grub_size_t len)
       else
        sector -= p->length;
     }
+  file->device->disk->read_hook = 0;
 
   return ret;
 }
-- 
2.20.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]