a5bd9f6
From 5c5e65464abe032b3838359d35fdbd0c15fe6454 Mon Sep 17 00:00:00 2001
a5bd9f6
From: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
a5bd9f6
Date: Mon, 15 Apr 2013 08:37:13 +0200
a5bd9f6
Subject: [PATCH 316/364] 	Fix DMRAID partition handling.
a5bd9f6
a5bd9f6
---
a5bd9f6
 ChangeLog      | 4 ++++
a5bd9f6
 util/getroot.c | 4 ++++
a5bd9f6
 2 files changed, 8 insertions(+)
a5bd9f6
a5bd9f6
diff --git a/ChangeLog b/ChangeLog
a5bd9f6
index db6076c..2dcf1f5 100644
a5bd9f6
--- a/ChangeLog
a5bd9f6
+++ b/ChangeLog
a5bd9f6
@@ -1,5 +1,9 @@
a5bd9f6
 2013-04-15  Vladimir Serbinenko  <phcoder@gmail.com>
a5bd9f6
 
a5bd9f6
+	Fix DMRAID partition handling.
a5bd9f6
+
a5bd9f6
+2013-04-15  Vladimir Serbinenko  <phcoder@gmail.com>
a5bd9f6
+
a5bd9f6
 	* tests/grub_cmd_date.in: Skip on sparc64.
a5bd9f6
 
a5bd9f6
 2013-04-15  Vladimir Serbinenko  <phcoder@gmail.com>
a5bd9f6
diff --git a/util/getroot.c b/util/getroot.c
a5bd9f6
index 4ea8e65..ecf7ce1 100644
a5bd9f6
--- a/util/getroot.c
a5bd9f6
+++ b/util/getroot.c
a5bd9f6
@@ -1956,6 +1956,7 @@ convert_system_partition_to_system_disk (const char *os_dev, struct stat *st,
a5bd9f6
 	      grub_util_info ("dm_tree_find_node failed");
a5bd9f6
 	      goto devmapper_out;
a5bd9f6
 	    }
a5bd9f6
+	reiterate:
a5bd9f6
 	  node_uuid = dm_tree_node_get_uuid (node);
a5bd9f6
 	  if (! node_uuid)
a5bd9f6
 	    {
a5bd9f6
@@ -2030,6 +2031,9 @@ convert_system_partition_to_system_disk (const char *os_dev, struct stat *st,
a5bd9f6
 	      goto devmapper_out;
a5bd9f6
 	    }
a5bd9f6
 	  mapper_name = child_name;
a5bd9f6
+	  *is_part = 1;
a5bd9f6
+	  node = child;
a5bd9f6
+	  goto reiterate;
a5bd9f6
 
a5bd9f6
 devmapper_out:
a5bd9f6
 	  if (! mapper_name && node)
a5bd9f6
-- 
a5bd9f6
1.8.1.4
a5bd9f6