[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 4/6] ieee1275: change the logic of ieee1275_get_devargs()
From: |
Avnish Chouhan |
Subject: |
[PATCH 4/6] ieee1275: change the logic of ieee1275_get_devargs() |
Date: |
Mon, 8 May 2023 19:28:38 +0530 |
Usually grub will parse the PFW arguments by searching for the first occurence
of the character ':'.
However, we can have this char more than once on NQN.
This patch changes the logic to find the last occurence of this char so we can
get the proper values
for NVMeoFC
Signed-off-by: Diego Domingos <diegodo@br.ibm.com>
Signed-off-by: Avnish Chouhan <avnish@linux.vnet.ibm.com>
---
grub-core/kern/ieee1275/openfw.c | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/grub-core/kern/ieee1275/openfw.c b/grub-core/kern/ieee1275/openfw.c
index 0278054..b97104c 100644
--- a/grub-core/kern/ieee1275/openfw.c
+++ b/grub-core/kern/ieee1275/openfw.c
@@ -324,7 +324,7 @@ grub_claimmap (grub_addr_t addr, grub_size_t size)
static char *
grub_ieee1275_get_devargs (const char *path)
{
- char *colon = grub_strchr (path, ':');
+ char *colon = grub_strrchr (path, ':');
if (! colon)
return 0;
@@ -339,6 +339,21 @@ grub_ieee1275_get_devname (const char *path)
char *colon = grub_strchr (path, ':');
int pathlen = grub_strlen (path);
struct grub_ieee1275_devalias curalias;
+
+ /* Check some special cases */
+ if(grub_strstr(path, "nvme-of"))
+ {
+ char *namespace_split = grub_strstr(path,"/namespace@");
+ if(namespace_split)
+ {
+ colon = grub_strchr (namespace_split, ':');
+ }
+ else
+ {
+ colon = NULL;
+ }
+ }
+
if (colon)
pathlen = (int)(colon - path);
@@ -579,7 +594,7 @@ grub_ieee1275_get_boot_dev (void)
return NULL;
}
- bootpath = (char *) grub_malloc ((grub_size_t) bootpath_size + 64);
+ bootpath = (char *) grub_malloc ((grub_size_t) bootpath_size + 64 + 256);
if (! bootpath)
{
grub_print_error ();
--
2.31.1
- [PATCH 0/6] NVMeoFC support on Grub, Avnish Chouhan, 2023/05/08
- [PATCH 1/6] ieee1275/powerpc: implements fibre channel discovery for ofpathname, Avnish Chouhan, 2023/05/08
- [PATCH 2/6] ieee1275/powerpc: enables device mapper discovery, Avnish Chouhan, 2023/05/08
- [PATCH 3/6] ieee1275: implement FCP methods for WWPN and LUNs, Avnish Chouhan, 2023/05/08
- [PATCH 6/6] ieee1275: ofpath enable NVMeoF logical device translate, Avnish Chouhan, 2023/05/08
- [PATCH 4/6] ieee1275: change the logic of ieee1275_get_devargs(),
Avnish Chouhan <=
- [PATCH 5/6] ieee1275: add support for NVMeoFC, Avnish Chouhan, 2023/05/08
- Re: [PATCH 0/6] NVMeoFC support on Grub, Daniel Kiper, 2023/05/10