Index: uspace/lib/device/include/hr.h
===================================================================
--- uspace/lib/device/include/hr.h	(revision 5cb16316d9a64fc20ee0a0576c6fdb13b9a710fc)
+++ uspace/lib/device/include/hr.h	(revision fb06476f08639bdd9ea2c65ef95e16644620591d)
@@ -55,15 +55,12 @@
 } hr_level_t;
 
-/*
- * SNIA
- * Common RAID Disk Data Format
- * Specification
- * Version 2.0 Revision 19
- */
-#define HR_RLQ_RAID4_0	0x00 /* RAID-4 Non-Rotating Parity 0 */
-#define HR_RLQ_RAID4_N	0x01 /* RAID-4 Non-Rotating Parity N */
-#define HR_RLQ_RAID5_0R	0x00 /* RAID-5 Rotating Parity 0 with Data Restart */
-#define HR_RLQ_RAID5_NR	0x02 /* RAID-5 Rotating Parity N with Data Restart */
-#define HR_RLQ_RAID5_NC	0x03 /* RAID-5 Rotating Parity N with Data Continuation */
+typedef enum hr_layout {
+	HR_RLQ_NONE	= 0,
+	HR_RLQ_RAID4_0,		/* RAID-4 Non-Rotating Parity 0 */
+	HR_RLQ_RAID4_N,		/* RAID-4 Non-Rotating Parity N */
+	HR_RLQ_RAID5_0R,	/* RAID-5 Rotating Parity 0 with Data Restart */
+	HR_RLQ_RAID5_NR,	/* RAID-5 Rotating Parity N with Data Restart */
+	HR_RLQ_RAID5_NC 	/* RAID-5 Rotating Parity N with Data Continuation */
+} hr_layout_t;
 
 typedef enum hr_vol_status {
@@ -119,5 +116,5 @@
 	HR_METADATA_GEOM_MIRROR	= 1,
 	HR_METADATA_GEOM_STRIPE = 2,
-	HR_METADATA_LAST_DUMMY	= 3
+	HR_METADATA_LAST_DUMMY
 } hr_metadata_type_t;
 
@@ -132,5 +129,5 @@
 extern const char	*hr_get_vol_status_msg(hr_vol_status_t);
 extern const char	*hr_get_ext_status_msg(hr_ext_status_t);
-extern const char	*hr_get_layout_str(hr_level_t, uint8_t);
+extern const char	*hr_get_layout_str(hr_layout_t);
 extern const char	*hr_get_metadata_type_str(hr_metadata_type_t);
 
Index: uspace/lib/device/src/hr.c
===================================================================
--- uspace/lib/device/src/hr.c	(revision 5cb16316d9a64fc20ee0a0576c6fdb13b9a710fc)
+++ uspace/lib/device/src/hr.c	(revision fb06476f08639bdd9ea2c65ef95e16644620591d)
@@ -207,5 +207,5 @@
 	if (vol_info->level == HR_LVL_4 || vol_info->level == HR_LVL_5) {
 		printf("layout: %s\n",
-		    hr_get_layout_str(vol_info->level, vol_info->layout));
+		    hr_get_layout_str(vol_info->layout));
 	}
 	if (vol_info->level == HR_LVL_0 || vol_info->level == HR_LVL_4) {
@@ -428,29 +428,21 @@
 }
 
-const char *hr_get_layout_str(hr_level_t level, uint8_t layout)
-{
-	switch (level) {
-	case HR_LVL_4:
-		switch (layout) {
-		case HR_RLQ_RAID4_0:
-			return "RAID-4 Non-Rotating Parity 0";
-		case HR_RLQ_RAID4_N:
-			return "RAID-4 Non-Rotating Parity N";
-		default:
-			return "Invalid RAID 4 layout";
-		}
-	case HR_LVL_5:
-		switch (layout) {
-		case HR_RLQ_RAID5_0R:
-			return "RAID-5 Rotating Parity 0 with Data Restart";
-		case HR_RLQ_RAID5_NR:
-			return "RAID-5 Rotating Parity N with Data Restart";
-		case HR_RLQ_RAID5_NC:
-			return "RAID-5 Rotating Parity N with Data Continuation";
-		default:
-			return "Invalid RAID 5 layout";
-		}
+const char *hr_get_layout_str(hr_layout_t layout)
+{
+	switch (layout) {
+	case HR_RLQ_NONE:
+		return "RAID layout not set";
+	case HR_RLQ_RAID4_0:
+		return "RAID-4 Non-Rotating Parity 0";
+	case HR_RLQ_RAID4_N:
+		return "RAID-4 Non-Rotating Parity N";
+	case HR_RLQ_RAID5_0R:
+		return "RAID-5 Rotating Parity 0 with Data Restart";
+	case HR_RLQ_RAID5_NR:
+		return "RAID-5 Rotating Parity N with Data Restart";
+	case HR_RLQ_RAID5_NC:
+		return "RAID-5 Rotating Parity N with Data Continuation";
 	default:
-		return "Invalid RAID level";
+		return "Invalid RAID layout";
 	}
 }
Index: uspace/srv/bd/hr/metadata/foreign/geom/mirror.c
===================================================================
--- uspace/srv/bd/hr/metadata/foreign/geom/mirror.c	(revision 5cb16316d9a64fc20ee0a0576c6fdb13b9a710fc)
+++ uspace/srv/bd/hr/metadata/foreign/geom/mirror.c	(revision fb06476f08639bdd9ea2c65ef95e16644620591d)
@@ -142,7 +142,7 @@
 	vol->extent_no = main_meta->md_all;
 
-	/* vol->layout = main_meta->layout; */
-
-	/* vol->strip_size = main_meta->strip_size; */
+	vol->layout = HR_RLQ_NONE;
+
+	vol->strip_size = 0;
 
 	vol->bsize = main_meta->md_sectorsize;
Index: uspace/srv/bd/hr/metadata/foreign/geom/stripe.c
===================================================================
--- uspace/srv/bd/hr/metadata/foreign/geom/stripe.c	(revision 5cb16316d9a64fc20ee0a0576c6fdb13b9a710fc)
+++ uspace/srv/bd/hr/metadata/foreign/geom/stripe.c	(revision fb06476f08639bdd9ea2c65ef95e16644620591d)
@@ -156,4 +156,6 @@
 	vol->strip_size = main_meta->md_stripesize;
 
+	vol->layout = HR_RLQ_NONE;
+
 	memcpy(vol->in_mem_md, main_meta, sizeof(struct g_stripe_metadata));
 
Index: uspace/srv/bd/hr/metadata/native.c
===================================================================
--- uspace/srv/bd/hr/metadata/native.c	(revision 5cb16316d9a64fc20ee0a0576c6fdb13b9a710fc)
+++ uspace/srv/bd/hr/metadata/native.c	(revision fb06476f08639bdd9ea2c65ef95e16644620591d)
@@ -156,8 +156,9 @@
 	vol->data_offset = main_meta->data_offset;
 	vol->extent_no = main_meta->extent_no;
-	/* vol->level = main_meta->level; */
+	/* vol->level = main_meta->level; */ /* already set */
 	vol->layout = main_meta->layout;
 	vol->strip_size = main_meta->strip_size;
 	vol->bsize = main_meta->bsize;
+	/* already set */
 	/* memcpy(vol->devname, main_meta->devname, HR_DEVNAME_LEN); */
 	memcpy(vol->in_mem_md, main_meta, sizeof(hr_metadata_t));
Index: uspace/srv/bd/hr/var.h
===================================================================
--- uspace/srv/bd/hr/var.h	(revision 5cb16316d9a64fc20ee0a0576c6fdb13b9a710fc)
+++ uspace/srv/bd/hr/var.h	(revision fb06476f08639bdd9ea2c65ef95e16644620591d)
@@ -86,5 +86,5 @@
 	uint32_t	 strip_size;		/* strip size */
 	hr_level_t	 level;			/* volume level */
-	uint8_t		 layout;		/* RAID Level Qualifier */
+	hr_layout_t	 layout;		/* RAID Level Qualifier */
 	char		 devname[HR_DEVNAME_LEN];
 
