Index: uspace/srv/bd/hr/raid0.c
===================================================================
--- uspace/srv/bd/hr/raid0.c	(revision b127da2f04985d8e204ee04bb0c448fd03c8aed2)
+++ uspace/srv/bd/hr/raid0.c	(revision ca212a519e7b756a1c5a2b63f186eb5ff442e7ac)
@@ -123,5 +123,5 @@
 	vol->data_blkno -= vol->meta_ops->get_size() * vol->extent_no;
 
-	vol->strip_size = HR_STRIP_SIZE;
+	vol->strip_size = hr_closest_pow2(HR_STRIP_SIZE / vol->extent_no);
 
 	return EOK;
Index: uspace/srv/bd/hr/raid5.c
===================================================================
--- uspace/srv/bd/hr/raid5.c	(revision b127da2f04985d8e204ee04bb0c448fd03c8aed2)
+++ uspace/srv/bd/hr/raid5.c	(revision ca212a519e7b756a1c5a2b63f186eb5ff442e7ac)
@@ -131,5 +131,5 @@
 	vol->data_blkno = single_sz * (vol->extent_no - 1);
 
-	vol->strip_size = HR_STRIP_SIZE;
+	vol->strip_size = hr_closest_pow2(HR_STRIP_SIZE / (vol->extent_no - 1));
 
 	if (vol->level == HR_LVL_4)
Index: uspace/srv/bd/hr/util.c
===================================================================
--- uspace/srv/bd/hr/util.c	(revision b127da2f04985d8e204ee04bb0c448fd03c8aed2)
+++ uspace/srv/bd/hr/util.c	(revision ca212a519e7b756a1c5a2b63f186eb5ff442e7ac)
@@ -1254,4 +1254,17 @@
 }
 
+uint32_t hr_closest_pow2(uint32_t n)
+{
+	if (n == 0)
+		return 0;
+
+	n |= (n >> 1);
+	n |= (n >> 2);
+	n |= (n >> 4);
+	n |= (n >> 8);
+	n |= (n >> 16);
+	return n - (n >> 1);
+}
+
 /** @}
  */
Index: uspace/srv/bd/hr/util.h
===================================================================
--- uspace/srv/bd/hr/util.h	(revision b127da2f04985d8e204ee04bb0c448fd03c8aed2)
+++ uspace/srv/bd/hr/util.h	(revision ca212a519e7b756a1c5a2b63f186eb5ff442e7ac)
@@ -111,4 +111,5 @@
 extern errno_t hr_sync_extents(hr_volume_t *);
 extern errno_t hr_init_rebuild(hr_volume_t *, size_t *);
+extern uint32_t hr_closest_pow2(uint32_t);
 
 #endif
